Navigation SDK for Android は、Maps SDK for Android にナビゲーション機能を追加します。Google マップを利用した Android アプリケーションでナビゲーション機能が必要な場合は、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 に依存関係を変更できます。ただし、次の 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 に存在しますが、呼び出しても影響はありません。ウェアラブルの場合は、代わりにターンバイターン フィードを使用します。
その他の API
- NavSDK では、カスタム LocationSource を設定しても何も起こりません。
- すべての MapsInitializer API。
- RuntimeRemoteException。
モビリティ サービスのお客様のみが使用することを目的とした API
Navigation SDK には、モビリティ サービスのお客様のみが使用することを想定した API がいくつかあります。これらの API を使用すると、Google から取引ごとに請求されます。モビリティ サービスのお客様でない場合、次のメソッドは no-op です。
NavigationTransactionRecorder.pickup()
NavigationTransactionRecorder.dropoff()
NavigationTransactionRecorder.generatedTransactionId()
Navigator.fetchRouteInfo()
Navigator.setTransactionIds()