O SDK do Navigation para Android adiciona recursos de navegação ao SDK do Maps para Android. Se o app Android com tecnologia do Google Maps precisar de recursos de navegação, ele vai depender do SDK de navegação para Android.
Dito isso, a maioria das funções do SDK do Maps para Android se comporta da mesma forma no SDK do Navigation para Android. Você os acessa usando o mesmo pacote com.google.android.gms.maps, não importa qual dependência do SDK você use.
Isso significa que, se o app dependia do SDK do Maps para Android, você pode mudar a dependência para o SDK do Navigation para Android sem afetar a funcionalidade atual do app, com duas exceções importantes:
- APIs que geram uma exceção.
- APIs que não funcionam no NavSDK e não têm impacto quando chamadas.
Essas exceções estão descritas abaixo.
APIs que geram uma exceção
A função a seguir vai gerar uma exceção se o aplicativo a ativar:
APIs sem funcionalidade no SDK do Navigation
As APIs a seguir não têm funcionalidade no SDK do Navigation, mas também não têm impacto se o código as chamar. Elas se enquadram nas seguintes categorias:
- APIs para atividades em wearables.
- Ative o feed TBT em vez disso, se quiser essa funcionalidade no SDK do Navigation para Android.
- Outras APIs.
APIs para wearables
GoogleMapOptions.ambientEnabled(boolean enabled) normalmente permite desativar ou ativar o modo ambiente para apps para wearables. Além disso, os métodos onEnterAmbient e onExitAmbient existem em MapView e MapFragment, mas não têm impacto quando chamados. Para wearables, use o feed de TBT.
Outras APIs
- Definir um LocationSource personalizado não faz nada no SDK de navegação.
- Todas as APIs MapsInitializer.
- RuntimeRemoteException.
APIs destinadas apenas ao uso por clientes dos Serviços de Mobilidade
Há várias APIs no SDK de navegação que são destinadas apenas ao uso por clientes dos Serviços de Mobilidade, que são cobrados pelo Google por transação. Se você não for um cliente dos Serviços de Mobilidade, os seguintes métodos não vão funcionar:
NavigationTransactionRecorder.pickup()NavigationTransactionRecorder.dropoff()NavigationTransactionRecorder.generatedTransactionId()Navigator.fetchRouteInfo()Navigator.setTransactionIds()