Navigation SDK には、ナビゲーション エクスペリエンスをアプリに統合するさまざまな方法が用意されています。このページでは、カスタム ナビゲーション エクスペリエンスとは何か、Navigation SDK で利用できる他のナビゲーション エクスペリエンスとどのように異なるかについて説明します。
カスタム ナビゲーション エクスペリエンスとは
Navigation SDK を実装する主な方法は、Google ナビゲーション エクスペリエンスを使用することです。これにより、Google マップ アプリ内のナビゲーション エクスペリエンスと同様の、Google 提供の UI 要素とビジュアルを使用するターンバイターン方式のナビゲーション エクスペリエンスを埋め込むことができます。Google ナビゲーション エクスペリエンスよりも柔軟な対応が必要な場合は、カスタム ナビゲーション エクスペリエンスを実装できます。カスタム ナビゲーション エクスペリエンスとは、ターンバイターン方式のルート案内を完全に排除してナビゲーションをバックグラウンド プロセスとしてのみ実行することから、ナビゲーションを実行するデバイスとは別の画面に高度にカスタマイズされたルート案内エクスペリエンスを投影することまで、あらゆるものを指します。カスタム ナビゲーション エクスペリエンスでは、アプリが Navigation SDK を呼び出してターンバイターン方式のナビゲーション フィードをリクエストし、ナビゲーション エクスペリエンスでユーザーに表示される UI 要素とビジュアルを提供して管理します。一般的に、Google ナビゲーション エクスペリエンスのほうが実装は簡単ですが、独自のカスタム ナビゲーション エクスペリエンスを構築すると、より多くのカスタマイズが可能になります。
カスタム ナビゲーション エクスペリエンスを作成する場合、アプリは次のフローを使用して Navigation SDK を呼び出し、ナビゲーションを開始、実行、停止します。
ナビゲーションを開始します。カスタマイズされたナビゲーション エクスペリエンスを開始するには、ナビゲーション インスタンスを作成して、目的地を設定します。
GMSNavigationService.createNavigationSessionを使用してナビゲーション セッションを確立します。この状態を保持する非 UI オブジェクトは、ビュー コントローラがある場合とない場合の両方で動作します。詳しくは、ターンバイターンのデータフィードの詳細をご覧ください。
デモを見る: Navigation SDK のダウンロードには、標準のナビゲーションによるターンバイターン方式のナビゲーションから、道路のポリラインに沿って移動するデバイスの位置のみを表示するナビゲーション エクスペリエンスに切り替わるナビゲーション エクスペリエンスの例を確認できるデモが含まれています。
アクティブ ナビゲーション。Google 提供のナビゲーション エクスペリエンスとカスタム ナビゲーション エクスペリエンスのもう一つの大きな違いは次のとおりです。Navigation SDK の組み込みイベント マネージャーにガイダンスを渡す代わりに、
GMSNavigatorListenerプロトコルを実装して詳細なターンバイターン ガイダンスのリスナーを設定し、イベント ハンドラを実装します。これにより、エクスペリエンスは、ナビゲーション イベントをリッスンするで説明されているイベントに応答できます。ナビゲーションを終了します。Google ナビゲーション エクスペリエンスと同様に、カスタム ナビゲーションでも、アプリのエクスペリエンスに最適な方法でナビゲーションを終了する必要があります。
カスタム ナビゲーション エクスペリエンスを使用する場面
次の表に、カスタム ナビゲーションのシナリオを示します。
シナリオの例 |
手順の概要 |
|---|---|
二輪車などの小型デバイス向けに、テキストのみのドライバー ガイダンスを提供する必要があります。 |
ナビゲーターを作成し、ナビゲーターが運転者のモバイル デバイスで実行されている間、ターンバイターン方式のガイダンスを小型画面デバイスへのデータフィードとして設定します。 |
Apple CarPlay を使用するドライバー向けに、アプリをカーサービスとして提供したい。 |
詳しくは、CarPlay でナビゲーションを有効にするをご覧ください。 |
アプリを使用するドライバーは、ほとんどの移動で概観マップを必要としており、市街地の道路では最小限のターンバイターン ナビゲーションのみを必要としています。 |
アプリでは、目的地と乗車モードのナビゲーターの設定を切り替えることなく、必要に応じて Google ナビゲーション エクスペリエンスに出入りできるようにする必要があります。 |