選択したトラフィック設定では、ルートの詳細の精度とリクエストのパフォーマンスのバランスが取られます。リクエストを行う際、最も正確な結果を返すべきか、できるだけ早く結果を返すべきかを判断する必要があります。Routes API には、レスポンス データの品質とレスポンスのレイテンシを制御できるオプションが用意されています。
交通データのレベルを設定
Routes API には、RoutingPreference(REST)と RoutingPreference(gRPC)が用意されています。これらを使用すると、ルートを計算するためのルーティング設定を指定できます。これらの設定は、ルート計算で交通状況を考慮するという点で異なります。各ルーティング設定から生成される結果は、ルートの品質、推定 ETA、レスポンス レイテンシの点で異なります。
交通状況は交通量の比率を表します。次に例を示します。
- 輻輳がない場合、交通状況は正常とみなされ、トラフィックは通常の速度で流れます。
- ラッシュアワーに近づくと交通量が増加し、交通量が遅くなり、軽いまたは中程度の交通量が発生します。
- バンパーとバンパー間のトラフィックでは、流量が減少して停止するため、交通量が多くなります。
認識されないトラフィック
TRAFFIC_UNAWARE
ルーティング設定を設定すると、現在の交通状況を考慮せずにルートが計算されます。このルーティング設定により、レスポンスのレイテンシが最も低くなります(レスポンスが最短で返されます)。
TRAFFIC_UNAWARE
がデフォルトの設定です。
レスポンスの説明:
ETA は
duration
レスポンス プロパティに格納されます。duration
とstaticDuration
のレスポンス プロパティには同じ値が含まれます。
このルーティング設定は、レスポンスを最短で返してほしい場合や、おおよそのルーティングの詳細で十分である場合に使用します。
交通情報
TRAFFIC_AWARE
ルーティング設定を設定すると、現在の交通状況を考慮してルートが計算されます。その結果、ルートとルートの詳細が実際の状況をより正確に反映するようになりました。このデータ品質の向上によりレスポンスのレイテンシが犠牲になるため、パフォーマンスの最適化が適用され、レイテンシの大部分が短縮されます。
レスポンスの説明:
リアルタイムのトラフィックを考慮した ETA は、
duration
レスポンス プロパティに含まれます。staticDuration
レスポンス プロパティには、交通状況を考慮せずにルートの移動時間が含まれます。
このルーティング設定は、TRAFFIC_UNAWARE
よりも正確なルーティングの詳細が必要で、レイテンシが中程度に増加してレスポンスが返されても問題ない場合に使用します。
トラフィック アウェア(最適化)
TRAFFIC_AWARE_OPTIMAL
ルーティング設定を設定すると、現在の交通状況を考慮してルートが計算されますが、パフォーマンスの最適化は適用されません。このモードでは、サーバーは道路網をより徹底的に検索して、最適なルートを見つけます。
TRAFFIC_AWARE_OPTIMAL
ルーティング設定は、maps.google.com および Google マップ モバイルアプリで使用されるモードと同じです。
このオプションを Compute Route Matrix で使用する場合、リクエスト内の要素数(出発地の数 × 目的地の数)は 100 以下にする必要があります。Compute Route Matrix の上限の詳細については、ルート マトリックスを計算するをご覧ください。
レスポンスの説明:
リアルタイムのトラフィックを考慮した ETA は、
duration
レスポンス プロパティに含まれます。staticDuration
レスポンス プロパティには、交通状況を考慮せずにルートの移動時間が含まれます。
このルーティング設定では、レスポンスのレイテンシが最も高くなります(つまり、レスポンスは最長の遅延で返されます)。このルーティング設定は、レスポンスにかかる時間に関係なく、最高品質の結果が必要な場合に使用します。
出発時刻の設定の影響
必要に応じて、departureTime
プロパティを使用してルートの出発時刻を設定します。departureTime
プロパティを設定しない場合、デフォルトはリクエストを行った時刻になります。
TRAFFIC_UNAWARE
の場合、ルートと所要時間は道路網と平均的な交通状況(時間に依存しない)に基づいて選択されるため、departureTime
は設定できません。ライブの交通状況を考慮する
TRAFFIC_AWARE
とTRAFFIC_AWARE_OPTIMAL
では、departureTime
が現在に近いほど、ライブ トラフィックの重要性が高くなります。出発時刻の設定が遠いほど、過去の交通状況が考慮されます。
ルーティング設定の例
次の JSON コードは、リクエスト メッセージ エンティティ本文でルーティング設定を行う方法を示しています。
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL" }
ポリラインのトラフィックを設定する
Routes API を使用すると、交通状況に対応したポリラインに沿った交通状況の情報をリクエストできます。詳しくは、ポリラインをリクエストするをご覧ください。