HERE SDK 4.x (Lite, Explore & Navigate Edition) - Examples for Android, iOS and Flutter
In this repository you can find the latest example apps that show key features of the HERE SDK in ready-to-use applications.
About the HERE SDK
The HERE SDK enables you to build powerful location-aware applications. Explore maps that are fast and smooth to interact with, pan/zoom across map views of varying resolutions, and enable the display of various elements such as routes and POIs on highly customizable map views.
The HERE SDK consumes data from the HERE Platform and follows modern design principles incorporating microservices and modularized components. Currently, the HERE SDK supports three platforms: Android, iOS and Flutter.
For an overview of the existing features, please check the Developer's Guide for the platform of your choice. Here you will also find numerous code snippets, detailed tutorials, the API Reference and the latest Release Notes:
- Documentation for the HERE SDK for Android (Lite Edition, Explore Edition, Navigate Edition)
- Documentation for the HERE SDK for iOS (Lite Edition, Explore Edition, Navigate Edition)
- Documentation for the HERE SDK for Flutter (Explore Edition, Navigate Edition)
For now, the Navigate Edition is only available upon request. Please contact your HERE representative to receive access including a set of evaluation credentials.
List of Available Example Apps (Version 4.14.3.0)
- HelloMap: Shows the classic 'Hello World'.
- HelloMapKotlin: Shows the classic 'Hello World' using Kotlin language (Android only).
- HelloMapWithStoryboard: Shows the classic 'Hello World' using a Storyboard (iOS only).
- HelloMapAndroidAuto: Shows how to integrate Android Auto into the HelloMap app to show a map on an in-car head unit display (Android only). Exclusively available for the Explore Edition and the Navigate Edition.
- HelloMapCarPlay: Shows how CarPlay can be integrated into the HelloMap app to display a map on an in-car head unit display (iOS only). Exclusively available for the Explore Edition and the Navigate Edition.
- Camera: Shows how to change the target and the target anchor point and how to move to another location using custom map animations.
- CameraKeyframeTracks: Shows how to do custom camera animations with keyframe tracks.
- CustomMapStyles: Shows how to load custom map schemes made with the HERE Style Editor. Exclusively available for the Explore Edition and the Navigate Edition.
- CustomRasterLayers: Shows how to load custom raster layers. Exclusively available for the Explore Edition and the Navigate Edition.
- Gestures: Shows how to handle gestures.
- OfflineMaps: Shows how the HERE SDK can work fully offline and how offline map data can be downloaded for continents and countries. Exclusively available for the Navigate Edition.
- MapItems: Shows how to add circles, polygons and polylines, native views, 2D and 3D map markers to locate POIs (and more) on the map. 3D map markers are exclusively available for the Explore and Navigate Editions.
- MultiDisplays: Shows how a HERE SDK map can be shown on two separate displays using Android's Multi-Display API. Exclusively available for the Explore Edition and the Navigate Edition.
- CartoPOIPicking: Shows how to pick embedded map markers with extended place details. Embedded map markers are already visible on every map, by default. This app is exclusively available for the Explore and Navigate Editions.
- Routing: Shows how to calculate routes and add them to the map.
- RoutingHybrid: Shows how to calculate routes and add them to the map. Also shows how to calculate routes offline, when no internet connection is available. Exclusively available for the Navigate Edition.
- EVRouting: Shows how to calculate routes for electric vehicles and how to calculate the area of reach with isoline routing. Also shows how to search along a route.
- Public Transit: Shows how to calculate routes for public transportation vehicles such as subways, trains, or busses.
- Search: Shows how to search POIs and add them to the map. Shows also geocoding and reverse geocoding.
- SearchHybrid: Shows how to search for places including auto suggestions, for the address that belongs to certain geographic coordinates (reverse geocoding) and for the geographic coordinates that belong to an address (geocoding). It also shows how to search offline, when no internet connection is available. Exclusively available for the Navigate Edition.
- NavigationQuickStart: Shows how to get started with turn-by-turn navigation. Exclusively available for the Navigate Edition.
- Navigation: Gives an overview of how to implement many of the available turn-by-turn navigation and tracking features. Exclusively available for the Navigate Edition.
- NavigationCustom: Shows how the guidance view can be customized. Exclusively available for the Navigate Edition.
- SpatialAudioNavigation: Shows how to make use of spatial audio notifications for TTS voices during guidance. Exclusively available for the Navigate Edition.
- Positioning: Shows how to integrate HERE Positioning. Exclusively available for the Navigate Edition.
- PositioningWithBackgroundUpdates: Shows how to integrate HERE Positioning with background location updates on Android using a foreground service. Exclusively available for the Navigate Edition.
- HikingDiary: Shows how to record GPX traces with HERE Positioning. Exclusively available for the Navigate Edition (Android and iOS only).
- Traffic: Shows how to search for real-time traffic and how to visualize it on the map.
- StandAloneEngine: Shows how to use an engine without a map view.
- IndoorMap: Shows how to integrate private venues. Exclusively available for the Navigate Edition.
- UnitTesting: Shows how to mock HERE SDK classes when writing unit tests (the example app is available for the Explore Edition and the Navigate Edition).
Most example apps contain a class named "XY-Example" where XY stands for the feature, which is in most cases equal to the name of the app. If you are looking for example code that shows how to use a certain HERE SDK feature, then please look for this class as it contains the most interesting parts. Note that the overall app architecture is kept as simple as possible to not shadow the parts in focus.
Not all examples are available for all editions and platforms.
Find the latest examples for the edition and platform of your choice:
- Examples for the HERE SDK for Android (Lite Edition, Explore Edition, Navigate Edition)
- Examples for the HERE SDK for iOS (Lite Edition, Explore Edition, Navigate Edition)
- Examples for the HERE SDK for Flutter (Explore Edition, Navigate Edition)
Example Apps for Older Versions
Above you can find the example app links for the latest HERE SDK version. If you are looking for an older version, please check our release page where you can download tagged older releases.
What You Need to Execute the Example Apps
- Acquire a set of credentials by registering yourself on developer.here.com - or ask your HERE representative.
- Download the latest HERE SDK artifacts for your desired platform. These can be found on developer.here.com unless otherwise noted.
- Please refer to the minimum requirements and supported devices as listed in our Developer's Guide.
Get Started for Android
- Copy the AAR file of the HERE SDK for Android to the example app's
app/libs
folder. - Open Android Studio and sync the project.
- To run the app, you need to add your HERE SDK credentials to the
AndroidManifest.xml
file.
Get Started for iOS
- Copy the
heresdk.framework
file of the HERE SDK for iOS to the example app's root folder. - To run the app, you need to add your HERE SDK credentials to the
Info.plist
file.
Get Started for Flutter
- Unzip the HERE SDK for Flutter plugin to the
plugins
folder that can be found inside the example app project. Renname the folder to 'here_sdk': hello_map/plugins/here_sdk - Set your HERE SDK credentials to
hello_map/android/app/src/main/AndroidManifest.xml
hello_map/ios/Runner/Info.plist
- Start an Android emulator or an iOS simulator and execute
flutter run
from the app's directory - or run the app from within your IDE.
Get in Touch
- If you have more questions, please check stackoverflow.com/questions/tagged/here-api.
- Information on how to contribute to this project can be found here.
- If you have questions about billing, your account, or anything else Contact Us.
Thank you for using the HERE SDK.
License
Copyright (C) 2019-2022 HERE Europe B.V.
See the LICENSE file in the root of this repository for license details.