Navigation SDK for Android は、Maps SDK for Android にナビゲーション機能を追加します。Google マップを利用した Android アプリケーションでナビゲーション機能が必要な場合は、Android 用 Navigation SDK に依存する必要があります。
ただし、Maps SDK for Android のほとんどの関数は、Navigation SDK for Android でも同じように動作します。どの SDK 依存関係を使用しても、同じ com.google.android.gms.maps パッケージを使用してアクセスします。つまり、アプリが以前に Maps SDK for Android に依存していた場合、アプリの既存の機能に影響を与えることなく、Navigation SDK for Android に依存関係を変更できます。ただし、次の 2 つの例外があります。
- 例外をスローする API。
- NavSDK で機能せず、呼び出しても影響がない API。
これらの例外については、以下で説明します。
例外をスローする API
アプリケーションで有効にすると、次の関数は例外をスローします。
Navigation SDK で機能しない API
次の API は Navigation SDK に機能はありませんが、コードで呼び出しても影響はありません。これらは次のカテゴリに分類されます。
- ウェアラブル アクティビティ用の API。
- Navigation SDK for Android でこの機能を使用する場合は、代わりに TBT フィードを有効にします。
- その他の API。
ウェアラブルの API
GoogleMapOptions.ambientEnabled(boolean enabled) は、通常、ウェアラブル アプリのアンビエント モードを無効または有効にするために使用されます。また、onEnterAmbient メソッドと onExitAmbient メソッドは MapView と MapFragment に存在しますが、呼び出されても影響はありません。ウェアラブルの場合は、代わりに TBT フィードを使用します。
その他の API
- NavSDK では、カスタム LocationSource を設定しても何も起こりません。
- すべての MapsInitializer API。
- RuntimeRemoteException。
モビリティ サービスのお客様のみが使用することを目的とした API
Navigation SDK には、モビリティ サービスのお客様のみが使用することを想定した API がいくつかあります。これらの API を使用すると、Google から取引ごとに請求されます。モビリティ サービスのお客様でない場合、次のメソッドは no-op です。
NavigationTransactionRecorder.pickup()NavigationTransactionRecorder.dropoff()NavigationTransactionRecorder.generatedTransactionId()Navigator.fetchRouteInfo()Navigator.setTransactionIds()