よくある質問

プロダクトの詳細

ネットワークと接続

データ

UI のカスタマイズ

ルーティング

シミュレータ

Workflows

モビリティ サービス

プロダクトの詳細

アプリには、各ユーザーが同意する必要がある 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 メートル以上移動した場合。

SDK が GPS 信号を長時間受信しない場合、アプリにシェブロンの位置で表示されるルート上の進行状況が遅くなり、完全に停止することがあります。この場合、地図上のシェブロンは、最後の GPS 信号で示された場所に留まります。GPS 信号を受信しなかった場合、SDK は自動的にナビゲーション モードを終了しません。ただし、シグナルを再び受信するまで、ガイダンスを提供できない場合があります。

オフライン モードは利用できますか?
いいえ。現時点では、Navigation SDK にオフライン モードはありません。ただし、SDK はルートの事前キャッシュ保存情報を提供します。

データ

ルートを開始する前に、ルート内のすべての経由地/目的地を取得できますか?

はい。ルートの経路を取得するには、Navigator.getRouteSegments() を呼び出します。

ルートの開始時にターンバイターン方式のルート案内を利用できますか?
はい。Navigation SDK は、ルート セグメントのリストを提供します。また、ヘッダーのルート案内カードをスワイプして、各操作を確認することもできます。
到着予定時刻はアプリユーザーにどのように伝えられますか?

アプリユーザーに到着予定時刻を伝える手順は次のとおりです。

  1. Navigator.getTimeAndDistanceList() を使用して、すべての経由地の時間と距離を取得します。
  2. ドライバーの到着予定時刻と同様に、この情報をクライアント アプリケーションに転送します。
ナビゲーションがフォアグラウンドにない場合、RoadSnappedLocationProvider を使用してユーザーの現在のスナップされた位置情報を取得できますか?

はい。RoadSnappedLocationProvider はデフォルトでバックグラウンドで実行されます。

Navigation SDK はジオフェンシングをサポートしていますか?

いいえ。ナビゲーションのコンテキストでは、remainingTimeOrdistanceChangeListener はジオフェンスよりも優れています。ジオフェンスは道路の形状を考慮していない可能性があり、ユーザーがナビゲーションしている正確な地点を中心としていない可能性があります。

この機能は remainingTimeOrdistanceChangeListener を使用して近似できます。

  1. コールバックの頻度を決定するしきい値を設定します。
  2. 目的地までの残りの距離を確認します。

たとえば、しきい値を 100 m に設定すると、目的地までの距離が 100 m 変化したときにコールバックを受け取ります。距離が短くなったら、このしきい値を小さい値に更新して、コールバックの頻度を上げることができます。次に、残りの距離を確認して、乗車地/降車地まで十分に近づいているかどうかを判断します。

ナビゲーション アプリがバックグラウンドで動作しているときに通知を無効にできますか?

はい。Navigator.setHeadsUpNotificationEnabled を使用して通知を制御します。このメソッドにはブール値の引数があります。FALSE 通知を無効にします。TRUE 通知を有効にします。

トランザクション レコーダーは、一意の ID を使用して乗車と降車を追跡します。この ID は、プロダクト分析のために Google が記録します。モビリティ サービスをご利用のお客様は、トランザクションの記録をログに記録するために NavigationTransactionRecorder を実装することをおすすめします。

UI のカスタマイズ

最適ルート オプションを色分けできますか?
いいえ。現時点では、特定のルート オプションの色分けはサポートされていません。
Navigation SDK で最終目的地の到着予定時刻を表示できますか?

はい。次のメソッドを使用します。

  1. Navigator.getTimeAndDistanceList() を使用して、すべての経由地の時間と距離を取得します。
  2. NavigationFragment.setEtaCardEnabled(false) を使用して、現在の経由地の到着予定時刻を非表示にします。
  3. 最終目的地の到着予定時刻をレンダリングします。
到着予定時刻の更新を非表示にするにはどうすればよいですか?

navigationView.setEtaCardEnabled(false) を呼び出して、到着予定時刻カードを無効にできます。

ヘッダーカードとフッターカードで利用できる UI のカスタマイズはどれですか?

StylingOptions を使用して、背景色のスタイルを設定します。ヘッダーとフッターを非表示または表示するには、NavigationFragmentsetHeaderEnabled メンバー関数と setFooterEnabled メンバー関数を使用します。

ルーティング

ユーザーに特定のルートを提供したり、代替ルートを削除したりできますか?
いいえ。デフォルトでは複数のルートが提供され、最速ルートが優先されます。リクエストに「高速道路と有料道路を避ける」などの設定を追加することで、デフォルトのルートに影響を与えることができます。経由地を追加すると、ルートにも影響します。
アプリユーザーに、デフォルトの目的地とは異なるラベルを表示できますか?

はい。デスティネーションのカスタム タイトルと緯度/経度を使用して Marker を作成します。Navigation SDK は、NavigationMap にカスタム タイトルと座標を表示します。

Navigation SDK を使用して、定義されたパスからの逸脱を追跡できますか?

はい。Navigator.setRouteChangedListener を使用して、ルートが変更されたときや新しいルートが推奨されたときに通知を受け取ります。

  1. Navigator.setRouteChangedListener メソッドを使用して、ルートに沿ってデバイスの位置を確認するリスナーを登録します。
  2. コールバック イベント ハンドラ onRouteChanged にコードを追加します。
    • 更新された到着予定時刻と距離の情報をアプリユーザーにメッセージで送信します。
    • デバイスの位置情報を追跡します。
    • [省略可] ユーザーが指定されたルートから外れたときに処理するために、アプリに必要な他の機能を追加します。
ユーザーはルートを完了せずにナビゲーションを終了できますか?

はい。Navigator.stopGuidance メソッドを呼び出して、ナビゲーションを停止します。

Navigation SDK は、トラックや大型車両のルートとナビゲーションをサポートしていますか?

はい。大型車両向けルート検索(LVR)を使用すると、Routes API または Route Optimization API で生成されたトラック固有のルートトークンを Navigation SDK に渡すことができます。この SDK は、ルートの吹き出し(高さ、重量、危険物、トラックの制限)を含むターンバイターンのナビゲーションを提供し、動的なルート変更中も車両の物理的プロファイルを維持します。詳しくは、大型車両のルートをナビするをご覧ください。

シミュレータ

シミュレータはルートの変更をサポートしていますか?

はい。simulateLocationsAlongNewRoute を呼び出して、ルート変更を含むジャーニーをシミュレートします。simulateLocationsAlongExistingRoute メソッドは、既存のルートに対する変更を無視します。

Workflows

ナビゲーション フラグメントを含むアクティビティを閉じた後で通知を閉じるにはどうすればよいですか?

アクティビティが閉じている場合、ナビゲーション中はナビゲーション通知が表示されたままになります。車両が目的地に到着すると、ナビゲーションが停止し、通知は表示されなくなります。

通知のクリックを処理するには、Navigator.startGuidance(intent resumeIntent) を使用します。アプリユーザーが通知をクリックすると、resume intent が起動します。通常、Navigator.startguidance(getIntent()) はメイン アクティビティから呼び出され、アプリユーザーが通知をクリックするとアクティビティを呼び出します。

モビリティ サービス

モビリティ サービスのお客様が Navigation SDK を使用する場合、どのような違いがありますか?

Google Maps Platform モビリティ サービスは、運輸および物流ビジネスのエンタープライズ ニーズをサポートする API と SDK のコレクションを提供します。モビリティ サービスのお客様の場合、Navigation SDK は通常、ルートの最適化、配送、タスクの追跡、フリート分析などの関連サービスと組み合わせて使用されます。Navigation SDK の料金は、モビリティ サービスのお客様に対しては別の方法で請求されます。詳細については、モビリティ サービスのドキュメントをご覧ください。

モビリティ プロダクトは現在、一部のお客様のみご利用いただけます。詳しくは、営業担当者にお問い合わせください。

モビリティ サービスを利用しているかどうかを確認するにはどうすればよいですか?
現在、モビリティ サービスのお客様として Navigation SDK を実装しているかどうかわからない場合は、コードで ReportBillableEvent 呼び出しを探してください。ReportBillableEvent メソッドを呼び出すのは、モビリティ サービスのお客様のみです。

モビリティ サービスのお客様に対する Navigation SDK の課金方法はどのようになっていますか?
モビリティ サービスのお客様の場合、Navigation SDK の請求と料金は、Google Maps Platform とのサービス契約によって異なります。モビリティ サービスの実装が正しく課金されていることを確認する方法については、課金の検証をご覧ください。モビリティ サービスの請求について詳しくは、営業担当者にお問い合わせください。

どの Navigation SDK API はモビリティ サービスのお客様のみが使用すべきですか?

Navigation SDK には、モビリティ サービスのお客様のみが使用することを想定した API がいくつかあります。これらの API を使用すると、Google から取引ごとに請求されます。モビリティ サービスのお客様でない場合、次のメソッドは no-op です。

モビリティ サービスのお客様が、Navigation SDK のモビリティ サービス以外の実装を使用することはできますか?

はい。モビリティ サービスのお客様は、モビリティ サービスとモビリティ サービス以外の両方の Navigation SDK の実装を使用できます。ただし、アプリで一度に使用できる実装タイプは 1 つのみです。また、モビリティ サービスの実装で使用しているものとは別に、新しい Google Cloud プロジェクト、請求先アカウント、API キーを作成する必要があります。詳しくは、Navigation SDK のセットアップの概要をご覧ください。

ナビゲーション SDK のモビリティ サービス以外の実装の使用(アプリの実装タイプ間の移行を含む)について詳しくは、Google アカウント担当者にお問い合わせください。

注: 現在モビリティ サービスのユーザーではなく、API と SDK のモビリティ サービス コレクションの詳細に関心をお持ちの場合は、Google Maps Platform の営業担当者にお問い合わせください