The Navigation SDK lets you to integrate Google Maps turn-by-turn navigation
into your mobile applications. Crucially, it provides
current route segment and final destination data, which, along with location
updates and latitude/longitude coordinates from the Driver SDK, are sent to the
Fleet Engine when your driver begins driving. This results in a complete driving
experience.

## Why use the Navigation SDK?

The Navigation SDK enables easier integration with Fleet Engine for updates to
the driver's routes. Using the Navigation SDK along with the Driver SDK enables
your driver can use a single app to manage assignments and navigate as they
would using their consumer version of Google Maps, without having to switch to
another app.

## What can you do with the Navigation SDK?

Use the Navigation SDK to communicate the following with Fleet Engine.

- Reliable turn-by-turn navigation instructions powered by Google Maps.
- Customized routes based on the latitude/longitude coordinates provided by the Driver SDK.
- Customized map elements, such as custom markers, overlays, and UI elements to highlight key navigation information and to personalize the navigation experience.

## How the Navigation SDK works

The Navigation SDK provides routing information and destination to Fleet Engine,
while the Driver SDK provides a stream of location updates, latitude/longitude
coordinates, remaining distance, and ETAs. All other vehicle data updates must
be sent to the customer backend, which relays the data to Fleet Engine.

![System diagram which shows how the Driver SDK communicates from the clients to the customer infrastructure and then to the Google infrastructure through Fleet Engine and the Customer Backend](https://developers.google.com/maps/documentation/mobility/on-demand/images/driver-sdk-ondemand-system-diagram.png)

## How to use the Navigation SDK

The steps below cover a typical use-case scenario for incorporating the
Navigation SDK into your driver application:

### Android

|---|---|---|
| 1 | **Set up your Google Cloud project** | Create a Google Cloud project before using the Navigation SDK. For more information, see [Set up your Google Cloud project](https://developers.google.com/maps/documentation/navigation/android-sdk/cloud-setup). |
| 2 | **Add the Navigation SDK to your API key** | The API key is a unique identifier that authenticates your requests, associate at least one API key with your project to use the Navigation SDK. For more information, see [Using API keys](https://developers.google.com/maps/documentation/navigation/android-sdk/get-api-key.md.txt). |
| 3 | **Set up your Android Studio project** | Create an Android project and integrate the Navigation SDK into it. For more information, see [Set up your Android Studio project](https://developers.google.com/maps/documentation/navigation/android-sdk/android-studio-setup.md.txt). |
| 4 | **Add the Driver SDK to your project** | Install and configure the Driver SDK to start taking advantage of all the Fleet Engine features. For more information, see [Get the Driver SDK for on-demand trips](https://developers.google.com/maps/documentation/mobility/driver-sdk/on-demand/android/minimum-requirements.md.txt) and [Get the Driver SDK for scheduled tasks](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/android/minimum-requirements.md.txt). |

### iOS

|---|---|---|
| 1 | **Set up your Google Cloud project** | Create a Google Cloud project before using the Navigation SDK. For more information, see [Set up your Google Cloud project](https://developers.google.com/maps/documentation/navigation/ios-sdk/cloud-setup). |
| 2 | **Add the Navigation SDK to your API key** | The API key is a unique identifier that authenticates your requests, associate at least one API key with your project to use the Navigation SDK. For more information, see [Using API keys](https://developers.google.com/maps/documentation/navigation/ios-sdk/get-api-key.md.txt). |
| 3 | **Set up your Xcode project** | Create an Xcode project and install the Navigation SDK into it. For more information, see [Set up your Xcode project](https://developers.google.com/maps/documentation/navigation/ios-sdk/xcode-setup.md.txt). |
| 4 | **Add the Driver SDK to your project** | Install and configure the Driver SDK to start taking advantage of all the Fleet Engine features. For more information, see [Get the Driver SDK for on-demand trips](https://developers.google.com/maps/documentation/mobility/driver-sdk/on-demand/ios/minimum-requirements.md.txt) and [Get the Driver SDK for scheduled tasks](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/ios/minimum-requirements.md.txt). |

For more information about the Navigation SDK features, see the complete
documentation for Navigation SDK for
[Android](https://developers.google.com/maps/documentation/navigation/android-sdk) and
[iOS](https://developers.google.com/maps/documentation/navigation/ios-sdk).