Stay organized with collections Save and categorize content based on your preferences.
The Navigation SDK provides different ways to integrate a navigation experience into your app. This page explains what the Google navigation experience is and how it differs from other navigation experiences that are available in the Navigation SDK.
What is the Google navigation experience?
The Google navigation experience refers to using the Navigation SDK to embed a turn-by-turn navigation experience that uses Google-provided UI elements and visuals, which are similar to the navigation experience within the Google Maps apps. When you embed the Google navigation experience in your app, you don't need to build the navigation experience from scratch, but you can still modify parts of the experience. As an alternative, if you need more customization than is available with the Google navigation experience, you can request a turn-by-turn navigation feed from the Navigation SDK and then provide and manage your own UI elements.
When you use Google navigation experience, your app calls the Navigation SDK to start, run, and stop navigation, using the following flow:
Start navigation. To start navigation, your app creates a navigator instance. From there, it sets the destination for the navigator and initializes a map. Finally, the app initiates the turn-by-turn guidance. This app flow can be presented to the user in a variety of ways depending on your use case. For example, the app might have a store locator with its own UI elements that users can use to begin navigation to the store. Or, your app might begin active navigation with a predefined destination when a driver accepts a delivery task.
Active navigation. Once your app enters active navigation, it uses the device location to maintain active guidance. You configure event listeners that are meaningful to your use case, such as for route changes and remaining time to the destination. During active navigation, the Navigation SDK provides UI components, which are similar to those in the Google Maps apps. For example, the navigation experience shows a standard Google maps layer, with visuals like turn guidance cards, traffic layers, alternate routes, and speed limits.
Stop navigation. Your app terminates the navigation session in the way that best works for your use case, such as with an arrival listener that triggers when the user reaches the destination.
How can you modify the Google navigation experience?
In general, you can modify the Google navigation experience to have different color schemes, camera views, extra turn guidance, and event response triggers. The following list describes some of the adjustments you can make. This list is not exhaustive.
Modification
Details
Modified navigation guidance: show/hide headers, colors and fonts, directions, alternate routes, and trip progress
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-18 UTC."],[[["\u003cp\u003eThe Google Navigation SDK enables developers to easily integrate turn-by-turn navigation into their apps using pre-built UI elements similar to the Google Maps app.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can customize aspects of the Google navigation experience like color schemes, camera views, and guidance information, but for full control, a custom navigation experience is recommended.\u003c/p\u003e\n"],["\u003cp\u003eThe Google navigation experience involves a three-step flow: starting navigation by defining the destination, active navigation with real-time guidance, and stopping navigation upon arrival.\u003c/p\u003e\n"],["\u003cp\u003eThe Navigation SDK offers various options for modifying the navigation UI, such as showing or hiding elements, adjusting traffic and speed limit information, and customizing the map and camera.\u003c/p\u003e\n"]]],[],null,["The Navigation SDK provides different ways to integrate a navigation\nexperience into your app. This page explains what the Google navigation\nexperience is and how it differs from other navigation experiences that are\navailable in the Navigation SDK.\n\nWhat is the Google navigation experience?\n\nThe Google navigation experience refers to using the Navigation SDK to\nembed a turn-by-turn navigation experience that uses Google-provided UI elements\nand visuals, which are similar to the navigation experience within the Google\nMaps apps. When you embed the Google navigation experience in your app, you\ndon't need to build the navigation experience from scratch, but you can still\nmodify parts of the experience. As an alternative, if you need more\ncustomization than is available with the Google navigation experience, you can\nrequest a turn-by-turn navigation feed from the Navigation SDK and then\nprovide and manage your own UI elements.\nFor more information, see [Custom navigation experience](/maps/documentation/navigation/android-sdk/intro-custom-nav).\n\n\u003cbr /\u003e\n\nWhen you use Google navigation experience, your app calls the\nNavigation SDK to start, run, and stop navigation, using the following\nflow:\n\n1. **Start navigation**. To start navigation, your app creates a navigator\n instance. From there, it sets the destination for the navigator and\n initializes a map. Finally, the app initiates the turn-by-turn guidance.\n This app flow can be presented to the user in a variety of ways depending on\n your use case. For example, the app might have a store locator with its own\n UI elements that users can use to begin navigation to the store. Or, your\n app might begin active navigation with a predefined destination when a\n driver accepts a delivery task.\n\n2. **Active navigation**. Once your app enters active navigation, it uses the\n device location to maintain active guidance. You configure event listeners\n that are meaningful to your use case, such as for route changes and\n remaining time to the destination. During active navigation, the Navigation\n SDK provides UI components, which are similar to those in the Google Maps\n apps. For example, the navigation experience shows a standard Google maps\n layer, with visuals like turn guidance cards, traffic layers, alternate\n routes, and speed limits.\n\n3. **Stop navigation**. Your app terminates the navigation session in the way\n that best works for your use case, such as with an arrival listener that\n triggers when the user reaches the destination.\n\nHow can you modify the Google navigation experience?\n\nIn general, you can modify the Google navigation experience to have different\ncolor schemes, camera views, extra turn guidance, and event response triggers.\nThe following list describes some of the adjustments you can make. This list is\nnot exhaustive.\n\n| **Modification** | **Details** |\n|--------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Modified navigation guidance: show/hide headers, colors and fonts, directions, alternate routes, and trip progress | [Map UI controls](/maps/documentation/navigation/android-sdk/controls) [Modify the navigation header](/maps/documentation/navigation/android-sdk/controls#modify_the_navigation_header) [Display directions list](/maps/documentation/navigation/android-sdk/controls#display_directions_list) [Hide alternate routes](/maps/documentation/navigation/android-sdk/controls#hiding_alternate_routes) [Display trip progress](/maps/documentation/navigation/android-sdk/controls#trip-progress-bar) |\n| Adjust traffic information and speed limit information | [Turn off traffic layer](/maps/documentation/navigation/android-sdk/controls#turn_off_the_traffic_layer) [Enable traffic lights and stop signs](/maps/documentation/navigation/android-sdk/controls#enable_traffic_lights_and_stop_signs) [Display the speedometer](/maps/documentation/navigation/android-sdk/controls#display_the_speed_limit) |\n| Change the map experience UI and adjust the camera. | [Add custom markers](/maps/documentation/navigation/android-sdk/controls#add_custom_markers) [Floating text](/maps/documentation/navigation/android-sdk/controls#floating_text) [Set night mode](/maps/documentation/navigation/android-sdk/controls#set_night_mode) [Adjust the camera](/maps/documentation/navigation/android-sdk/camera) |"]]