Navigation SDK для Android добавляет функции навигации в Maps SDK для Android. Если вашему Android-приложению на базе Google Карт требуются функции навигации, оно должно зависеть от Navigation SDK для Android.
При этом большинство функций Maps SDK для Android ведут себя в Navigation SDK для Android одинаково. Доступ к ним осуществляется через тот же пакет com.google.android.gms.maps
, независимо от используемой зависимости SDK. Это означает, что если ваше приложение ранее зависело от Maps SDK для Android, вы можете изменить его зависимость на Navigation SDK для Android, не затрагивая существующую функциональность приложения, за двумя важными исключениями:
- API, которые генерируют исключение.
- API, которые не функционируют в NavSDK и не оказывают никакого влияния при вызове.
Эти исключения описаны ниже.
API, которые выдают исключение
Следующая функция выдает исключение, если ваше приложение ее допускает:
API без функциональности в Navigation SDK
Следующие API не имеют функциональности в Navigation SDK, но также не оказывают никакого влияния, если ваш код их вызывает. Они делятся на следующие категории:
- API для носимых устройств.
- Включите канал TBT , если вам нужна эта функциональность в Navigation SDK для Android.
- Другие API.
API для носимых устройств
GoogleMapOptions.ambientEnabled(boolean enabled) обычно позволяет отключать или включать режим Ambient для приложений на носимых устройствах. Кроме того, методы onEnterAmbient и onExitAmbient существуют в MapView и MapFragment , но при вызове не оказывают никакого влияния. Для носимых устройств используйте вместо этого фид TBT .
Другие API
- Настройка пользовательского LocationSource не приводит ни к каким изменениям в NavSDK.
- Все API MapsInitializer .
- RuntimeRemoteException .
API, предназначенные только для использования клиентами мобильных сервисов
В Navigation SDK есть несколько API, предназначенных только для клиентов Mobility Services , которым Google выставляет счета за каждую транзакцию. Если вы не являетесь клиентом Mobility Services, следующие методы не являются обязательными:
-
NavigationTransactionRecorder.pickup()
-
NavigationTransactionRecorder.dropoff()
-
NavigationTransactionRecorder.generatedTransactionId()
-
Navigator.fetchRouteInfo()
-
Navigator.setTransactionIds()