よくある質問
商品の詳細
- Navigation SDK の利用規約に関する通知はどのように表示すればよいですか?
- 音声案内はどの言語に対応していますか?
- 運転手がナビゲーション モードを終了しても、方位は維持されますか?
- ルートの開始時や変更時にポリラインを使用できますか?
- アプリのユーザーは Google マップ モバイルをインストールする必要がありますか?
- Navigation SDK は、レストランやその他の目的地近くの駐車場を特定できますか?
- Navigation SDK は、曲がり角に近づいたときに車線の交通方向を表示しますか?
問題
ネットワーク
データ
- ルートを開始する前に、移動のすべての停車地/目的地を取得できますか?
- ルートの開始時にターンバイターン ルート案内を利用できますか?
- 予定到着時刻 (ETA)はアプリのユーザーにどのように伝えられますか?
- ナビゲーションがフォアグラウンドにない場合、
RoadSnappedLocationProviderを使用して運転手の 現在のスナップ位置を取得できますか? - Navigation SDK はジオフェンシングをサポートしていますか?
- ナビゲーション アプリがバックグラウンドにあるときに通知を無効にできますか?
UI のカスタマイズ
- 最適なルート オプションを色分けできますか?
- Navigation SDK は最終目的地の到着予定時刻を表示できますか?
- ETA の更新を非表示にするにはどうすればよいですか?
- ヘッダーカードとフッターカードで利用できる UI のカスタマイズは何ですか?
ルーティング
- 運転手に特定のルートを提供したり、代替ルートを削除したりできますか?
- デフォルトの目的地の位置とは異なるラベルを運転手に表示できますか?
- Navigation SDK を使用して、定義されたパスからの逸脱を追跡できますか?
- 運転手はルートを完了せずにナビゲーションを終了できますか?
シミュレータ
Workflows
モビリティ サービス
- モビリティ サービスをご利用のお客様の場合、Navigation SDK の使用方法はどのように異なりますか?
- モビリティ サービスをご利用のお客様かどうかを確認するにはどうすればよいですか?
- モビリティ サービスをご利用のお客様の場合、Navigation SDK の料金はどのように請求されますか?
- モビリティ サービスをご利用のお客様のみが使用すべき Navigation SDK API はどれですか?
- モビリティ サービスをご利用のお客様の場合、モビリティ サービス以外の Navigation SDK 実装も使用できますか?
商品の詳細
- アプリは、各運転手が同意する必要がある Navigation SDK の利用規約に関する通知を含むダイアログを実装する必要があります。このダイアログでは、運転手が 利用規約に同意できます。利用規約のテキスト ファイルは Navigation SDK に付属しています。
- Android では、
NavigationApi.showTermsAndConditionsDialogメソッドを使用して、利用規約を含むダイアログを表示します。 - iOS では、
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyNameを呼び出します。 - Google マップ モバイルでサポートされている言語は、Navigation SDK で自動的に利用できます。 デバイスにはデフォルトのシステム言語が設定されており、アプリでその設定を変更することはできませんが、アプリは 70 以上の言語にアクセスできます。
-
はい。Android では、
LocationListenerは開始するとバックグラウンドで実行され続けます。アプリは引き続き位置を道路にスナップし、方位を維持します。iOS で、位置と方位の位置情報の更新をバックグラウンドで引き続き受信するには、道路スナップを実装し、
allowsBackgroundLocationUpdatesをYESに設定します。 -
はい。ルートが作成または変更されると、
RouteChangeListenerによってポリラインが提供されます。 - いいえ。Navigation SDK では、デバイスに Google マップ モバイルをインストールする必要はありません。
- いいえ。Navigation SDK は現時点ではこの機能を提供していません。
- はい。トラフィック方向はデフォルトで利用可能で、表示されます。
問題
- Xcode 12 で、アプリがシミュレータ用に正しくビルドされません。どうすればよいですか?
-
この問題を解決するには、Xcode プロジェクトのビルド設定を開き、「iOS Simulator」ビルドについてのみ
Excluded Architecturesにarm64を追加します。詳細については、次の StackOverflow スレッドをご覧ください。
- GMSMapView が読み込まれません。
-
GMSMapView が読み込まれない場合は、次の操作を行います。
- Cloud Console で NavSDK が有効になっていることを確認します。
- Nav SDK がインストールされているが、プロジェクトで Nav SDK API を使用していない場合は、バイナリから削除します。
ネットワーク
- Navigation SDK は接続状態が悪い場合にどのように処理しますか?
- Navigation SDK は、移動ごとにルートを事前にキャッシュします。事前にキャッシュされる情報には、15 ~ 20 分間のルーティング情報と、運転手がルートから逸脱した場合の代替ルートが含まれます。Navigation SDK は、デバイスの GPS と センサーを使用して位置を推定します。
- オフライン モードはありますか?
- いいえ。Navigation SDK は現時点ではオフライン モードを提供していませんが、SDK は移動の事前キャッシュ情報を提供します。
データ
- ルートを開始する前に、移動のすべての停車地/目的地を取得できますか?
-
はい。Android でルートの経路を取得するには、
Navigator.getRouteSegments()を呼び出します。iOS では、
GMSNavigator.routeLegs(read)を呼び出します。 - ルートの開始時にターンバイターン ルート案内を利用できますか?
- はい。Navigation SDK はルート セグメントのリストを提供します。 また、運転手はヘッダーの経路カードをスワイプして、各操作を確認できます。
- ETA はアプリのユーザーにどのように伝えられますか?
-
Android で、ETA 情報をアプリのユーザーに提供する手順は次のとおりです。
-
Navigator.getTimeAndDistanceList()を使用して、すべての地点の時間と距離を取得します。 - 運転手の ETA と同様に、この情報をクライアント アプリケーションに転送します。
iOS で、ETA 情報をアプリのユーザーに提供する手順は次のとおりです。
- 移動の区間を取得します。
Navigator.getRouteSegments(). - 移動の区間ごとに
GMSNavigator.timeToNextDestinationを呼び出します。 - 運転手の ETA と同様に、時間情報をクライアント アプリケーションに転送します。
-
-
ナビゲーションがフォアグラウンドにない場合、
RoadSnappedLocationProviderを使用して運転手の現在のスナップ位置を取得できますか? -
はい。Android では、
RoadSnappedLocationProviderは バックグラウンドでデフォルトで実行されます。iOS で、ナビゲーションをバックグラウンドで実行し続けるには、
GMSRoadSnappedLocationProviderListenerのリスナーを実装し、プロパティallowsBackgroundLocationUpdatesをTRUEに設定します。 - Navigation SDK はジオフェンシングをサポートしていますか?
-
いいえ。ナビゲーションのコンテキストでは、
remainingTimeOrdistanceChangeListenerの方がジオフェンスよりも優れています。ジオフェンスは道路の形状を考慮していないため、運転手がナビゲーションしている正確な地点を中心としていない可能性があります。remainingTimeOrdistanceChangeListenerを使用して、この機能を近似できます。- しきい値を設定して、コールバックの頻度を決定します。
- 目的地までの残りの距離を確認します。
たとえば、しきい値を 100 m に設定すると、目的地までの距離が 100 m 変化したときにコールバックを受け取ります。距離が短くなるにつれて、このしきい値を小さい 値に更新し、コールバックの頻度を増やすことができます。次に、残りの距離を調べて、乗車/降車地点に十分に近いかどうかを判断します。
iOS では、リスナー
GMSNavigatorListener.didUpdateRemainingDistanceを実装して、通知の間隔を管理します。 - ナビゲーション アプリがバックグラウンドにあるときに通知を無効にできますか?
-
はい。Android では、
Navigator.setHeadsUpNotificationEnabledを使用して通知を制御します。このメソッドにはブール値の引数があります。FALSEは通知を無効にし、TRUEは通知を有効にします。iOS では、 を NO に設定して、道路にスナップされた位置情報のバックグラウンド通知を無効にします。
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates他の位置情報通知のバックグラウンド処理を無効にするには、
GMSNavigator.sendsBackgroundNotifications(NO)を呼び出します。
UI のカスタマイズ
- 最適ルート オプションを色分けできますか?
- いいえ。現時点では、特定のルート オプションの色分けは対象外です。
- Navigation SDK は最終目的地の到着予定時刻を表示できますか?
-
はい。Android では、次のメソッドを使用します。
-
Navigator.getTimeAndDistanceList()を使用して、すべての地点の時間と距離を取得します。 -
NavigationFragment.setEtaCardEnabled(false)を使用して、現在の地点の ETA を非表示にします。 - 最終目的地の ETA をレンダリングします。
iOS では、次のものを使用します。
GMSNavigator.routeLegs(read)を呼び出します。- 最後の区間で、
GMSNavigator.timeToNextDestinationを呼び出します。 - を FALSE に設定して、現在の地点の ETA を非表示にします。
MSMapView.settings.navigationFooterEnabled=NO - 最終目的地の ETA をレンダリングします。
-
- ETA の更新を非表示にするにはどうすればよいですか?
-
次の方法で ETA カードを無効にできます。
- Android では、
navigationView.setEtaCardEnabled(false)を使用します。 - iOS では、
GMSMapView.settings.navigationFooterEnabled=NOを使用します。
- Android では、
-
Android では、
StylingOptionsを使用して背景色のスタイルを設定します。ヘッダーとフッターの表示 / 非表示を切り替えるには、NavigationFragmentのsetHeaderEnabledメンバー関数とsetFooterEnabledメンバー関数を使用します。iOS では、
GMSMapView.settings.navigationHeaderPrimaryBackgroundColorを使用して背景色のスタイルを設定します。ヘッダーとフッターの表示 / 非表示を切り替えるには、navigationFooterEnabledとnavigationHeaderEnabledプロパティを使用します。GMSUISettings
ルーティング
- 運転手に特定のルートを提供したり、代替ルートを削除したりできますか?
- いいえ。デフォルトでは複数のルートが提供され、最速ルートが優先されます。 リクエストに「高速道路と有料道路を避ける」などの設定を追加することで、デフォルトのルートに影響を与えることができます。地点を追加すると、ルートも変更されます。
- デフォルトの目的地の位置とは異なるラベルをアプリのユーザーに表示できますか?
-
はい。Android では、目的地と緯度/経度のカスタムタイトルを使用して
Markerを作成します。Navigation SDK は、カスタムタイトルと座標をNavigationMapに表示します。iOS では、目的地の
GMSMarkerを作成して表示します。 - Navigation SDK を使用して、定義されたパスからの逸脱を追跡できますか?
-
はい。Android では、
Navigator.setRouteChangedListenerを使用して、ルートが変更されたときや新しいルートが推奨されたときに通知を受け取ります。- ルートに沿ってデバイスの位置を確認するリスナーを登録します
Navigator.setRouteChangedListenerメソッドを使用します。 - コールバック イベント ハンドラ
onRouteChangedにコードを追加します。- 更新された ETA と距離の情報を含むメッセージをアプリのユーザーに送信します。
- デバイスの位置を追跡します。
- [省略可] 運転手が指定されたルートから外れた場合の処理に必要なその他の機能を追加します。
iOS では、
GMSNavigatorとそのリスナーを使用して、ルートが変更されたときや新しいルートが推奨されたときに通知を受け取ります。- マップのビュー コントローラで、
GMSNavigatorListenerプロトコルとGMSRoadSnappedLocationProviderListenerプロトコルを実装します。 -
を実装します。
GMSNavigatorListener.navigatorDidChangeRoute GMSNavigatorのrouteLegsプロパティとcurrentRouteLegプロパティを使用して、新しいルートにアクセスします。
- ルートに沿ってデバイスの位置を確認するリスナーを登録します
-
はい。Android で
Navigator.stopGuidance()メソッドを呼び出して ナビゲーションを停止します。iOS では、
GMSNavigator.clearDestinationsを呼び出します。
シミュレータ
- シミュレータはルートの変更をサポートしていますか?
-
はい。Android で、ルートの変更を含む移動をシミュレートするには、
simulateLocationsAlongNewRouteを 呼び出します。ThesimulateLocationsAlongExistingRouteメソッドは、既存のルートに対する変更を無視します。iOS で、ルートの変更を含む移動をシミュレートするには、
GMSLocationSimulator.simulateAlongNewRouteToDestinationsを使用します。ルートの変更が予想されない場合は、GMSLocationSimulator.simulateLocationsAlongExistingRouteまたはGMSLocationSimulator.simulateAlongNewRouteToDestinationsを使用できます。
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 実装の使用方法(アプリをある実装タイプから別の実装タイプに移行する方法など)について詳しくは、Google アカウント担当者にお問い合わせください。
注: モビリティ サービスをご利用でないお客様で、モビリティ サービスの API と SDK のコレクションについて詳しくは、Google Maps Platform の営業担当者にお問い合わせください。