よくある質問
プロダクトの詳細
- Navigation SDK の利用規約に関する通知はどのように表示すればよいですか?
 - 音声ガイドはどの言語に対応していますか?
 - ユーザーがナビゲーション モードを終了したときに、方位は維持されますか?
 - ルートの開始時や変更時にポリラインを利用できますか?
 - アプリのユーザーは Google マップ モバイルをインストールする必要がありますか?
 - Navigation SDK で、レストランやその他の目的地の近くにある駐車場を特定できますか?
 - Navigation SDK は、曲がり角に近づいたときに車線の交通方向を表示しますか?
 - Navigation SDK はどのバージョンの JDK をサポートしていますか?
 
ネットワークと接続
- Navigation SDK はネットワーク接続が不安定な場合、どのように処理しますか?
 - Navigation SDK は GPS 信号が弱い場合や失われた場合にどのように処理しますか?
 - オフライン モードは利用できますか?
 
データ
- ルートを開始する前に、ルート内のすべての経由地/目的地を取得できますか?
 - ルートの開始時にターンバイターン方式のルート案内は利用できますか?
 - 到着予定時刻(ETA)はアプリユーザーにどのように伝えられますか?
 - ナビゲーションがフォアグラウンドにない場合、
RoadSnappedLocationProviderを使用してユーザーの現在のスナップされた位置情報を取得できますか? - Navigation SDK はジオフェンシングをサポートしていますか?
 - ナビゲーション アプリがバックグラウンドで動作しているときに通知を無効にできますか?
 - Google が保持している取引のログを確認するにはどうすればよいですか?
 
UI のカスタマイズ
- 最適なルート オプションを色分けできますか?
 - Navigation SDK で最終目的地の到着予定時刻を表示できますか?
 - 到着予定時刻の更新を非表示にするにはどうすればよいですか?
 - ヘッダーカードとフッターカードで利用できる UI のカスタマイズはどれですか?
 
ルーティング
- ユーザーに特定のルートを提供したり、代替ルートを削除したりできますか?
 - ユーザーに、デフォルトのリンク先とは異なるラベルを表示できますか?
 - Navigation SDK を使用して、定義されたパスからの逸脱を追跡できますか?
 - ユーザーはルートを完了せずにナビゲーションを終了できますか?
 
シミュレータ
Workflows
モビリティ サービス
- モビリティ サービスのお客様が Navigation SDK を使用する場合、どのような違いがありますか?
 - モビリティ サービスのお客様かどうかを確認するにはどうすればよいですか?
 - モビリティ サービスのお客様に対する Navigation SDK の課金方法はどのようになっていますか?
 - モビリティ サービスのお客様のみが使用すべき Navigation SDK API はどれですか?
 - モビリティ サービスのお客様は、Navigation SDK のモビリティ サービス以外の実装も使用できますか?
 
プロダクトの詳細
- 
アプリには、各ユーザーが同意する必要がある Navigation SDK の利用規約に関する通知を含むダイアログを実装する必要があります。このダイアログでは、ユーザーが利用規約に同意できます。Navigation SDK には、利用規約のテキスト ファイルが付属しています。
NavigationApi.showTermsAndConditionsDialogメソッドを使用して、利用規約を含むダイアログを表示します。 - Google マップ モバイルでサポートされている言語は、Navigation SDK で自動的に利用できます。デバイスにはデフォルトのシステム言語があり、アプリはその設定を変更できません。ただし、アプリは 70 以上の言語にアクセスできます。
 - 
はい。起動すると、
LocationListenerはバックグラウンドで実行され続けます。アプリは位置の道路スナップを継続し、方位を維持します。 - 
はい。ルートが作成または変更されると、
RouteChangeListenerはポリラインを提供します。 - いいえ。Navigation SDK では、デバイスに Google マップ モバイルをインストールする必要はありません。
 - いいえ。現時点では、Navigation SDK にこの機能はありません。
 - はい。トラフィックの方向はデフォルトで表示されます。
 - Navigation SDK はどのバージョンの JDK をサポートしていますか?
 - Navigation SDK は、Oracle によってアクティブにサポートされている Java SE の LTS バージョンをサポートしています。これらのバージョンは、Oracle Java SE サポート ロードマップでプレミア サポートの対象として記載されています。
 
ネットワークと接続
- Navigation SDK はネットワーク接続が不安定な場合をどのように処理しますか?
 - Navigation SDK は、各ルートのルートを事前にキャッシュに保存します。事前にキャッシュに保存される情報には、15 ~ 20 分間のルート情報と、ユーザーがルートから外れた場合の代替ルートが含まれます。Navigation SDK は、デバイスの GPS とセンサーを使用して位置を推定します。
 - Navigation SDK は、GPS 信号が弱い場合や失われた場合をどのように処理しますか?
 - 
ナビゲーションが開始され、Navigation SDK が GPS 信号を少なくとも 1 回受信すると、次の状況で「GPS を検索中...」というメッセージが表示されます。
- 最後に GPS 信号を受信してから 10 秒以上経過している場合。
 - 最後に GPS 信号を受信してから、ルーティング位置が 500 m 以上移動した場合。
 
SDK が GPS 信号を長時間受信しない場合、アプリでシェブロンの位置で示されるルート上の進行状況が遅くなり、完全に停止する可能性があります。この場合、地図上のシェブロンは、最後の GPS 信号で示された場所に残ります。GPS 信号を受信しなかった場合でも、SDK は自動的にナビゲーション モードを終了しません。ただし、信号を再び受信するまで、ガイダンスを提供できない場合があります。
 - オフライン モードは利用できますか?
 - いいえ。現時点では、Navigation SDK にオフライン モードはありません。ただし、SDK はルートの事前キャッシュ保存情報を提供します。
 
データ
- ルートを開始する前に、旅程内のすべての経由地/目的地を取得できますか?
 - 
はい。ルートの経路を取得するには、
Navigator.getRouteSegments()を呼び出します。 - ルートの開始時にターンバイターン方式のルート案内を利用できますか?
 - はい。Navigation SDK は、ルート セグメントのリストを提供します。また、ヘッダーのルート案内カードをスワイプして、各操作を確認することもできます。
 - アプリユーザーに ETA はどのように伝えられますか?
 - 
  
アプリユーザーに到着予定時刻を伝える手順は次のとおりです。
Navigator.getTimeAndDistanceList()を使用して、すべての経由地の時間と距離を取得します。- ドライバーの到着予定時刻と同様に、この情報をクライアント アプリケーションに転送します。
 
 - 
ナビゲーションがフォアグラウンドにない場合、
RoadSnappedLocationProviderを使用してユーザーの現在のスナップされた位置情報を取得できますか? - 
はい。
RoadSnappedLocationProviderはデフォルトでバックグラウンドで実行されます。 - Navigation SDK はジオフェンシングをサポートしていますか?
 - 
  
いいえ。ナビゲーションのコンテキストでは、
remainingTimeOrdistanceChangeListenerはジオフェンスよりも優れています。ジオフェンスは道路の形状を考慮していない可能性があり、ユーザーがナビゲーションしている正確な地点を中心としていない可能性があります。この機能は
remainingTimeOrdistanceChangeListenerを使用して近似できます。- コールバックの頻度を決定するしきい値を設定します。
 - 目的地までの残りの距離を確認します。
 
たとえば、しきい値を 100 m に設定すると、目的地までの距離が 100 m 変化したときにコールバックを受け取ります。距離が短くなったら、このしきい値を小さい値に更新して、コールバックの頻度を上げることができます。次に、残りの距離を確認して、乗車/降車場所に十分近いかどうかを判断します。
 - ナビゲーション アプリがバックグラウンドで動作しているときに通知を無効にできますか?
 - 
はい。
Navigator.setHeadsUpNotificationEnabledを使用して通知を制御します。このメソッドにはブール値の引数があります。FALSEは通知を無効にし、TRUEは通知を有効にします。 - 
トランザクション レコーダーは、一意の ID を使用して乗車と降車を追跡します。この ID は、プロダクト分析のために Google が記録します。モビリティ サービスをご利用のお客様は、トランザクションの記録をログに記録するために
NavigationTransactionRecorderを実装することをおすすめします。 
UI のカスタマイズ
- 最適なルート オプションを色分けできますか?
 - いいえ。現時点では、特定のルート オプションの色分けはサポートされていません。
 - Navigation SDK で最終目的地の到着予定時刻を表示できますか?
 - 
  
はい。次のメソッドを使用します。
Navigator.getTimeAndDistanceList()を使用して、すべての経由地の時間と距離を取得します。NavigationFragment.setEtaCardEnabled(false)を使用して、現在の経由地の到着予定時刻を非表示にします。- 最終目的地の到着予定時刻をレンダリングします。
 
 - 到着予定時刻の更新を非表示にするにはどうすればよいですか?
 - 
  
navigationView.setEtaCardEnabled(false)を呼び出して、到着予定時刻カードを無効にできます。 - 
StylingOptionsを使用して、背景色のスタイルを設定します。ヘッダーとフッターを非表示または表示するには、NavigationFragmentのsetHeaderEnabledメンバー関数とsetFooterEnabledメンバー関数を使用します。 
ルーティング
- ユーザーに特定のルートを提供したり、代替ルートを削除したりできますか?
 - いいえ。デフォルトでは、複数のルートが提供され、最速のルートが優先されます。リクエストに「高速道路と有料道路を避ける」などの設定を追加することで、デフォルトのルートに影響を与えることができます。経由地を追加すると、ルートにも影響します。
 - アプリユーザーに、デフォルトの目的地とは異なるラベルを表示できますか?
 - 
はい。デスティネーションのカスタム タイトルと緯度/経度を使用して
Markerを作成します。Navigation SDK は、NavigationMapにカスタム タイトルと座標を表示します。 - Navigation SDK を使用して、定義されたパスからの逸脱を追跡できますか?
 - 
  
はい。
Navigator.setRouteChangedListenerを使用して、ルートが変更されたときや新しいルートが推奨されたときに通知を受け取ります。Navigator.setRouteChangedListenerメソッドを使用して、ルートに沿ったデバイスの位置を確認するリスナーを登録します。- コールバック イベント ハンドラ 
onRouteChangedにコードを追加します。- 更新された到着予定時刻と距離の情報をアプリユーザーにメッセージで送信します。
 - デバイスの位置を追跡します。
 - [省略可] ユーザーが指定されたルートから外れたときに処理するために、アプリに必要な他の機能を追加します。
 
 
 - 
はい。
Navigator.stopGuidance()メソッドを呼び出して、ナビゲーションを停止します。 
シミュレータ
- シミュレータはルートの変更をサポートしていますか?
 - 
はい。
simulateLocationsAlongNewRouteを呼び出して、ルート変更を含むジャーニーをシミュレートします。simulateLocationsAlongExistingRouteメソッドは、既存のルートに対する変更を無視します。 
Workflows
- ナビゲーション フラグメントを含むアクティビティを閉じた後で通知を閉じるにはどうすればよいですか?
 - 
アクティビティが閉じている場合、ナビゲーション通知はナビゲーション中も表示されたままになります。車両が目的地に到着すると、ナビゲーションが停止し、通知は表示されなくなります。
通知のクリックを処理するには、
Navigator.startGuidance(intent resumeIntent)を使用します。アプリユーザーが通知をクリックすると、resume intentが起動します。通常、Navigator.startguidance(getIntent())はメイン アクティビティから呼び出され、アプリユーザーが通知をクリックするとアクティビティを呼び出します。 
モビリティ サービス
Google Maps Platform モビリティ サービスは、運輸業や物流業の企業のニーズに対応する API と SDK のコレクションを提供します。モビリティ サービスのお客様の場合、Navigation SDK は通常、ルートの最適化、配送、タスクの追跡、フリート分析などの関連サービスと組み合わせて使用されます。Navigation SDK の料金は、モビリティ サービスのお客様に対しては別の方法で請求されます。詳細については、モビリティ サービスのドキュメントをご覧ください。
モビリティ プロダクトは現在、一部のお客様のみご利用いただけます。詳しくは、営業担当者にお問い合わせください。
ReportBillableEvent 呼び出しを探してください。ReportBillableEvent メソッドを呼び出すのは、モビリティ サービスのお客様のみです。
Navigation SDK には、モビリティ サービスのお客様のみが使用することを想定した API がいくつかあります。これらの API を使用すると、Google から取引ごとに請求されます。モビリティ サービスのお客様でない場合、次のメソッドは no-op です。
はい。モビリティ サービスのお客様は、Navigation SDK のモビリティ サービス実装と非モビリティ サービス実装の両方を使用できます。ただし、アプリで一度に使用できる実装タイプは 1 つのみです。また、モビリティ サービスの実装で使用しているものとは別に、新しい Google Cloud プロジェクト、請求先アカウント、API キーを作成する必要があります。詳しくは、Navigation SDK のセットアップの概要をご覧ください。
Navigation SDK の Mobility Services 以外の実装の使用(アプリをある実装タイプから別の実装タイプに移行するなど)について詳しくは、Google アカウントの担当者にお問い合わせください。
注: 現在モビリティ サービスのユーザーではなく、API と SDK のモビリティ サービス コレクションの詳細についてご希望の場合は、Google Maps Platform の営業担当者にお問い合わせください。