NaviKit SDK architecture

NaviKit SDK offers a wide range of functionality with lots of classes and components. To better integrate navigation scenarios in your app, you need to be familiar with the general architecture of NaviKit SDK.

The main NaviKit SDK entities and their dependencies are presented below.

Diagram

The diagram shows the main components of NaviKit SDK.

NaviKit SDK entity diagram

There are two sets of entities: the full MapKit SDK and the more general NaviKit SDK.

MapKit SDK entities

NaviKit SDK includes all the functionality that comes with the full version of the MapKit SDK. Because of that, the Map and Directions entities are in the separate "MapKit SDK full" group on the diagram.

  • Map handles the API for working with the map and its display, settings, and style.

  • Directions includes the routing functionality available in the MapKit SDK full version.

NaviKit SDK is an add-on to the MapKit SDK full version. It unlocks the following additional components:

  • Navigation encapsulates the route building logic and information on the current guidance status. Navigation doesn't depend on map components or contain any object display logic.

  • Road Events Layer displays a separate layer on the road events map for routes. The road events layer depends on the map API because it displays road events on the map.

  • Navigation Layer lets you link map entities, navigation entities, and road events. You can use it to render routes, maneuvers, and control points on the map.