Navigation SDK for Android 可为 Maps SDK for Android 添加导航功能。如果您的 Android 应用由 Google 地图提供支持,并且需要导航功能,则必须依赖于 Navigation SDK for Android。
不过,Maps SDK for Android 中的大多数函数在 Navigation SDK for Android 中的行为方式相同。无论您使用哪个 SDK 依赖项,都可以使用相同的 com.google.android.gms.maps
软件包来访问它们。这意味着,如果您的应用之前依赖于 Maps SDK for Android,您可以将其依赖项更改为 Navigation SDK for Android,而不会影响应用的现有功能,但有以下两个明显的例外情况:
- 抛出异常的 API。
- 在 NavSDK 中不起作用且在调用时没有影响的 API。
下文将介绍这些例外情况。
会抛出异常的 API
如果您的应用启用以下功能,则会抛出异常:
Navigation SDK 中没有功能的 API
以下 API 在 Navigation SDK 中没有任何功能,但如果您的代码调用了这些 API,也不会产生任何影响。它们分为以下几类:
- 穿戴式设备活动所用的 API。
- 如果您想在 Navigation SDK for Android 中使用此功能,请改为启用 TBT Feed。
- 其他 API。
穿戴式设备的 API
GoogleMapOptions.ambientEnabled(boolean enabled) 通常允许您为穿戴式应用停用或启用微光模式。此外,onEnterAmbient 和 onExitAmbient 方法,但调用这些方法时不会产生任何影响。对于穿戴式设备,请改用 TBT Feed。
其他 API
- 在 NavSDK 中,设置自定义 LocationSource 不起任何作用。
- 所有 MapsInitializer API。
- RuntimeRemoteException。
仅供 Mobility Services 客户使用的 API
Navigation SDK 中有多个 API 仅供 Mobility Services 客户使用,这些客户按交易量向 Google 付费。如果您不是移动服务客户,则以下方法为 no-op:
NavigationTransactionRecorder.pickup()
NavigationTransactionRecorder.dropoff()
NavigationTransactionRecorder.generatedTransactionId()
Navigator.fetchRouteInfo()
Navigator.setTransactionIds()