Skip to main content

Navigation SDK for Android v2

Current version:v2.20.2

  • check
    Navigation UI components ready to integrate into your application
  • check
    Professionally designed map styles
  • check
    Worldwide driving, cycling, and walking directions
  • check
    Traffic avoidance and proactive rerouting
A newer version of the Navigation SDK is available
This page uses v2.20.2 of the Mapbox Navigation SDK. A newer version of the SDK is available. Learn about the latest version, v3.5.4, in the Navigation SDK documentation.

The Navigation SDK for Android allows you to build a complete navigation experience with the power of the Mapbox Directions API. You can build a complete turn-by-turn navigation UI inside your application using our pre-built components or use the core logic directly to build something truly custom.

The Navigation SDK provides a collection of features that are critical when building navigation projects, including:

  • Navigation routes
  • Accurate device location updates
  • Voice instruction announcements
  • Real-time user progress to their destination
  • Off-route detection and rerouting
  • Dynamic camera adjustments during turn-by-turn navigation
  • Pre-built UI components to show changing navigation information
  • Support for navigating with limited or no network connection

Types of navigation

The Navigation SDK offers two types of navigation: turn-by-turn navigation and free-drive mode.

Turn-by-turn

Turn-by-turn navigation, also referred to as active guidance, is likely what comes to mind when you think about a typical turn-by-turn navigation experience: a user receives turn-by-turn instructions as they progress along the route. Read more in the Turn-by-turn navigation guides.

Free-drive

Free-drive navigation, also referred to as passive navigation, is a unique Mapbox Navigation SDK feature that allows drivers to take advantage of some navigation features without selecting a route and following turn-by-turn instructions to a set destination. Read more in the Free-drive guide.

Requirements

The Mapbox Navigation SDK for Android is compatible with applications that:

  • Are built using the Android SDK 21 or higher.
  • Are built using the NDK 21. Other major versions of the NDK are not guaranteed to be compatible.
  • Use Java 8 for sourceCompatibility and targetCompatibility, as shown in the installation guide.

Java compatibility

The Mapbox Navigation SDK for Android is built with Kotlin, the official language recommended by Google for Android development. Kotlin is 100% interoperable with Java.

Applications with a Java codebase can interact properly with the public APIs exposed by Mapbox SDKs for Android. If you experience any issues using the Mapbox Navigation SDK for Android with Java, contact us.

Use with other Mapbox tools

The Mapbox Navigation SDK for Android is designed to be used with several other Mapbox products.

Directions API

The Navigation SDK comes with access to the Mapbox Directions API to generate routes between two or more coordinates. The Directions API has many route options like setting a profile (for example driving, driving with traffic, or walking), bearing (to influence the direction in which a route will begin), and exclude (for example, avoiding tolls). Read more about the Directions API in the API documentation.

Maps SDK for Android

By default, the Navigation SDK comes with access to the Mapbox Maps SDK for Android. The Navigation SDK uses the Maps SDK to display routes on a map and show the user's location on the map throughout their trip to provide both navigation-related context and nearby places that may be of interest to the driver. The Navigation SDK uses Mapbox Maps SDK v10, you can find documentation for your version in the Maps SDK API references listing.

Conditions

Attribution

If you use a Mapbox map in your application, you are required to provide attribution according to the Mapbox Maps SDK documentation.

Terms

The Mapbox Navigation SDK is distributed under Mapbox's Terms of Service.

Pricing

Read more about pricing for the Navigation SDK in the pricing guide.

Older versions of the SDK

Looking for an older version of the Navigation SDK? See the Navigation SDK v1 documentation.

Was this page helpful?