Начало работы с NaviKit SDK
Процесс начала работы с NaviKit SDK имеет много сходств с подключением обычного MapKit, однако имеет несколько важных отличий.
Шаг 1. Получение ключа для работы с NaviKit SDK
Для работы с NaviKit SDK требуется наличие API-ключа.
- Создайте новый API-ключ для MapKit SDK или используйте существующий.
- Чтобы API-ключ можно было использовать в приложениях с NaviKit SDK его необходимо активировать. Для этого напишите нам на почту paid-api-maps@yandex-team.ru.
Шаг 2. Добавление NaviKit SDK зависимостей
Для использования всех функций, предоставляемых NaviKit SDK, требуется подключение нескольких зависимостей:
-
NaviKit SDK последней доступной версии.
implementation 'com.yandex.android:maps.mobile:4.8.0-navikit'
-
Google Play services зависимость.
implementation 'com.google.android.gms:play-services-location:21.0.1'
-
Библиотека с реализацией NavigationStyleProvider с фирменными UI элементами Яндекс Карт.
implementation 'com.yandex.mapkit.styling:automotivenavigation:4.8.0'
-
Библиотека с реализацией StyleProvider для слоя дорожных событий c фирменными иконками Яндекс Карт.
implementation 'com.yandex.mapkit.styling:roadevents:4.8.0'
Синхронизируйте проект чтобы применить изменения. После успешной синхронизации все зависимости будут добавлены в ваш проект.
Шаг 3. Разрешение на запрос локации
NaviKit SDK для Android требует разрешение на запрос локации для отслеживания текущего местоположения устройства.
-
Добавьте в AndroidManifest приложения объявление разрешения на использование локации:
<manifest ... > <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> </manifest>
-
Запросите разрешение на использование локации у пользователя во время работы приложения.
Шаг 4. Настройка MapKit SDK
Выполните шаги из Шаг 3. Добавьте API-ключ для MapKit: установите ваш API-ключ, инициализируйте MapKit и создайте View с картой.
Если после запуска приложения MapKit карта успешно открылась и ее данные прогрузились, настройки выполнены верно.
Шаг 5. Обратите внимание при дальнейшей работе
MapKit хранит слабые ссылки на передаваемые ему Listener-объекты. Необходимо самим хранить ссылку на них в памяти:
val cameraListener = CameraListener { _, _, _, _ ->
// ...
}
mapView.mapWindow.map.addCameraListener(cameraListener)
Когда все зависимости установлены, можно приступить к использованию NaviKit SDK в вашем проекте.
В следующем разделе рассмотрена общая архитектура сущностей NaviKit SDK.