Общая архитектура NaviKit SDK
NaviKit SDK предоставляет широкий функционал и содержит большое количество классов и компонентов. Для того, чтобы упростить процесс интеграции навигационных сценариев в ваше приложение, важно понимать общую архитектуру NaviKit SDK.
Ниже рассмотрены основные сущности, входящие в состав NaviKit SDK, и их зависимости друг от друга.
Диаграмма
На диаграмме изображены основные компоненты из NaviKit SDK.
Данные сущности можно разделить на две группы: full MapKit SDK и более общая группа NaviKit SDK.
Сущности MapKit SDK
NaviKit SDK включает в себя весь функционал full-версии MapKit SDK. Поэтому на диаграмме сущности Map и Directions находятся в отдельной группе MapKit SDK full.
-
Map - отвечает за API работы непосредственно с картой, ее отображение, настройку и стилизацию.
-
Directions - включает в себя функционал маршрутизации, построения маршрутов, который представляется в full-версии MapKit SDK.
Сущности NaviKit SDK
NaviKit SDK является надстройкой над full-версией MapKit SDK, предоставляя доступ к дополнительным компонентам:
-
Navigation - компонент инкапсулирует логику построения маршрутов, а также информацию о текущем состоянии ведения. Навигация не зависит от компонента карты и не содержит логику отображении объектов.
-
Road Events Layer - представляет собой слой дорожных событий, который отвечает за отображение отдельного слоя на карте с дорожными событиями на маршруте. Слой дорожных событий зависит от API карты, потому что отображает на ней дорожные события.
-
Navigation Layer - навигационный слой позволяет связать сущности карты, навигации и дорожные события. С помощью него на карте рисуются маршруты, маневры и контрольные точки.