よくある質問
商品情報
- Navigation SDK 利用規約は 表示されますか?
- 音声案内はどの言語に対応していますか?
- 運転手が方位を ナビゲーション モードを終了しますか?
- ポリラインは開始時に利用可能か ルートの変更ですか?
- アプリのユーザーは Google マップを インストールされていますか?
- Navigation SDK が レストランなどの目的地の近くの駐車場を確認できますか?
- Navigation SDK は 曲がり角に近づいたときに車線の進行方向を確認できるか?
- どの Navigation SDK が API を使用するのはモビリティ サービスのお客様だけですか?
問題
ネットワーク
データ
- すべてのアラートを 経由地や目的地はどこですか?
- ターンバイターンのルート案内を利用できますか? どうすればよいでしょうか
- 到着予定時刻の目安は? (ETA)をアプリユーザーに伝えていますか?
RoadSnappedLocationProvider
は ドライバの ナビゲーションがフォアグラウンドでない場合、現在のスナップ位置は?- Navigation SDK は 対応していますか?
- 次の場合に通知を無効にできますか? バックグラウンドになっていますか?
UI のカスタマイズ
- 最適な色分けは? ルート オプションは?
- Navigation SDK が 最終目的地の到着予定時刻は表示されますか?
- 到着予定時刻の更新情報を非表示にするにはどうすればよいですか?
- UI のカスタマイズとは何か 利用できますか?
ルーティング
- 特定のルートを指定できますか? 代替ルートを削除しますか?
- ドライバーに別のラベルを表示できますか? デフォルトの保存先とは違うのですか?
- Navigation SDK を使用しても 定義された経路からの逸脱を追跡するにはどうすればよいでしょうか。
- ドライバーはナビゲーションを終了しても、 完走しますか?
シミュレータ
Workflows
商品情報
- 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 にはこの機能はありません。 あります。
- はい。トラフィックの方向はデフォルトで使用可能になり、表示されます。
- Navigation SDK の選び方 API を使用するのはモビリティ サービスのお客様だけですか?
-
Navigation SDK には、モビリティ サービスのお客様のみを対象とした API がいくつか用意されています。これらの API は、トランザクション単位で Google から請求されます。モビリティ サービスのユーザーでない場合は、次の方法を使用できます。
問題
- Xcode 12 で、アプリがシミュレータ用に正しくビルドされません。解決方法を教えてください。
-
この問題を解決するには、Xcode プロジェクトのビルド設定を開き、「iOS Simulator」ビルドについてのみ
Excluded Architectures
にarm64
を追加します。詳細については、次の StackOverflow スレッドをご覧ください。
- GMSMapView が読み込まれない。
-
GMSMapView が読み込まれない場合:
- Cloud コンソールで 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 には、ルート セグメントのリストが用意されています。 また、ドライバーはヘッダーの経路カードをスワイプできます。 確認しましょう
- 到着予定時刻はアプリのユーザーにどのように通知されますか?
-
Android でアプリのユーザーに到着予定時刻を知らせる手順は次のとおりです。
- を使用してすべてのウェイポイントの時間と距離を取得する
Navigator.getTimeAndDistanceList()
。 - クライアント アプリケーションに転送する際は、 大きく影響します
iOS でアプリのユーザーに到着予定時刻を知らせる手順は次のとおりです。
- 次を使用してジャーニーの区間を取得します。
Navigator.getRouteSegments()
。 - 乗車区間ごとに
GMSNavigator.timeToNextDestination
を呼び出します。 - クライアント アプリケーションに 大きく影響します
- を使用してすべてのウェイポイントの時間と距離を取得する
-
RoadSnappedLocationProvider
を使用して、ドライバの ナビゲーションがフォアグラウンドでない場合、現在のスナップ位置は? -
はい。Android では、
RoadSnappedLocationProvider
は 使用されます。iOS でナビゲーションをバックグラウンドで実行し続けるには、リスナーを実装します。
GMSRoadSnappedLocationProviderListener
に対して、 プロパティallowsBackgroundLocationUpdates
をTRUE
に設定します。 - Navigation SDK はジオフェンスをサポートしていますか?
-
いいえ。ナビゲーションのコンテキストでは、
remainingTimeOrdistanceChangeListener
単純なジオフェンスより有利です。ジオフェンスで ため、実際の地点に正確な中心が 運転手が移動中かどうかがわかります。この機能に近似するには、
remainingTimeOrdistanceChangeListener
。- しきい値を設定して、コールバックの頻度を決定します。
- 目的地までの残りの距離を確認します。
たとえばしきい値を 100m に設定すると デスティネーションまでの距離が変化したときにコールバックを受け取る 100m 延びています。距離が短くなると、このしきい値をより小さな値に コールバックが頻繁に発生しています。次に 残りの距離を調べて 乗車場所または降車場所から十分近くにあるかを判断してください。
iOS でリスナー
GMSNavigatorListener.didUpdateRemainingDistance
を実装します。 通知間の距離を管理できます。 - ナビゲーション アプリがバックグラウンドのときに通知を無効にすることはできますか?
-
はい。Android では、
Navigator.setHeadsUpNotificationEnabled
を使用します。 通知を管理します。このメソッドにはブール値の引数があります。FALSE
通知を無効にします。TRUE
は通知を有効にします。iOS の場合、次の方法で道路スナップされた場所のバックグラウンド通知を無効にします
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates
の設定 変更します。その他の位置情報に関する通知のバックグラウンド処理を無効にするには、
GMSNavigator.sendsBackgroundNotifications(NO)
。
UI のカスタマイズ
- 最適なルートのオプションを色分けすることはできますか?
- いいえ。現時点では、特定の経路オプションを色分けすることはできません。
- Navigation SDK で最終目的地の到着予定時刻を表示できますか?
-
はい。Android では、次のメソッドを使用します。
- を使用してすべてのウェイポイントの時間と距離を取得する
Navigator.getTimeAndDistanceList()
。 - 現在のウェイポイントの到着予定時刻を非表示にするには、
NavigationFragment.setEtaCardEnabled(false)
。 - 最終目的地の到着予定時刻をレンダリングする。
iOS では次のように記述します。
GMSNavigator.routeLegs(read)
を呼び出します。- 最後の行程では、
GMSNavigator.timeToNextDestination
。 - 現在のウェイポイントの到着予定時刻を非表示にするには、
MSMapView.settings.navigationFooterEnabled=NO
を FALSE に変更します。 - 最終目的地の到着予定時刻をレンダリングする。
- を使用してすべてのウェイポイントの時間と距離を取得する
- 到着予定時刻の更新情報を非表示にするにはどうすればよいですか?
-
到着予定カードは次の方法で無効にできます。
- Android では、
navigationView.setEtaCardEnabled(false)
を使用します。 - iOS では、
GMSMapView.settings.navigationFooterEnabled=NO
を使用します。
- Android では、
-
Android では、
StylingOptions
を使用して背景を設定します。 カラースタイルですヘッダーの表示と非表示を切り替えるには、 使用する場合は、setHeaderEnabled
と 次のsetFooterEnabled
メンバー関数:NavigationFragment
。iOS では、次のコマンドを使用します。
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
背景色のスタイルを設定しますヘッダーとフッターの表示と非表示を切り替えるnavigationFooterEnabled
を使用する およびGMSUISettings
のnavigationHeaderEnabled
プロパティ。
ルーティング
- 特定のルートを指定できますか? 代替ルートを削除しますか?
- いいえ。デフォルトでは、複数のルートが提供され、最速ルートが優先されます。 「回避」などの設定を追加することで、デフォルト ルートに影響を与える 高速道路や有料道路など追加できます地点の追加はルートにも影響します。
- デスティネーションとしてデフォルトとは異なるラベルをアプリユーザーに表示できますか? 目的地はどこか?
-
はい。Android では、
Marker
を作成します。 目的地のカスタム タイトルと緯度と経度。「 Navigation SDK がカスタム タイトルと座標を表示するNavigationMap
。iOS では、デスティネーションの
GMSMarker
を作成して表示します。 - Navigation SDK を使用して、定義されたパスからの逸脱を追跡できますか?
-
はい。Android では、
Navigator.setRouteChangedListener
を使用して以下を行います。 ルートが変更された場合や新しいルートが推奨される場合に、通知を受け取ることができます。- ルート上のデバイスの位置をチェックするリスナーを登録する
Navigator.setRouteChangedListener
メソッドを使用します。 - コールバック イベント ハンドラ
onRouteChanged
にコードを追加します。- 更新された到着予定時刻と距離情報を含むメッセージをアプリのユーザーに送信します。
- デバイスの位置情報を追跡します。
- [省略可] アプリが処理できるよう、その他の機能を追加してください 運転手が所定のルートから外れたとき。
iOS では、
GMSNavigator
とそのリスナーを使用して以下を行います。 ルートが変更された場合や新しいルートが推奨される場合に、通知を受け取ることができます。- 地図のビュー コントローラで、
GMSNavigatorListener
を実装します。GMSRoadSnappedLocationProviderListener
プロトコルの 2 つがあります。 - 導入
GMSNavigatorListener.navigatorDidChangeRoute
。 routeLegs
を使用して新しいルートにアクセスします。GMSNavigator
のcurrentRouteLeg
プロパティ。
- ルート上のデバイスの位置をチェックするリスナーを登録する
-
はい。Android では、
Navigator.stopGuidance()
メソッドを呼び出して、 ナビを停止してiOS の場合は、
GMSNavigator.clearDestinations
を呼び出します。
シミュレータ
- シミュレーターはルートの変更に対応していますか?
-
はい。Android で
simulateLocationsAlongNewRoute
を呼び出して、 ルート変更を含む移動をシミュレートします。simulateLocationsAlongExistingRoute
メソッドは既存のルートへの変更を無視します。iOS の場合は、
GMSLocationSimulator.simulateAlongNewRouteToDestinations
を使用します。 を使用して、ルート変更を含む移動をシミュレートします。予測がGMSLocationSimulator.simulateLocationsAlongExistingRoute
を使用するか、ルートの変更後にGMSLocationSimulator.simulateAlongNewRouteToDestinations
。
Workflows
- スペースを含むアクティビティを終了した後に通知を閉じるにはどうすればよいですか? どうでしょうか。
-
ナビゲーション通知は、ナビゲーション中も表示されたままになりますが、 トリガーされます。車両が ナビゲーションが停止し、通知が消えます。
通知のクリックを処理するには、
Navigator.startGuidance(intent resumeIntent)
を使用します。resume intent
は、アプリユーザーが通知をクリックすると起動されます。 通常、Navigator.startguidance(getIntent())
は、 メイン アクティビティ: アプリユーザーが通知をクリックすると、アクティビティを呼び出します。