選択した交通設定では、ルート詳細の精度とリクエストのパフォーマンスのバランスが取られます。リクエストを行う際は、可能な限り正確な結果を返すのか、できるだけ早く結果を返すのか、どちらが優先されるかを検討する必要があります。Routes API には、レスポンス データの品質とレスポンスのレイテンシを制御できるオプションが用意されています。
交通データのレベルを設定する
Routes API には、ルートの計算にルーティング設定を指定できる RoutingPreference(REST)と RoutingPreference(gRPC)が用意されています。これらの設定は、ルート計算に交通状況をどの程度考慮するかによって異なります。ルーティング設定ごとに、ルートの品質、推定到着時刻、レスポンス レイテンシが異なる結果が生成されます。
交通状況は、交通量の速さを表します。次に例を示します。
- 渋滞がない場合、交通状況は正常と見なされ、交通は通常の速度で流れます。
- ラッシュアワーに近づくにつれて交通量が増加し、交通が遅くなり、交通量が少ない状態から中程度の状態になります。
- 渋滞中は、交通量が急減し、交通渋滞が発生します。
トラフィック認識なし
TRAFFIC_UNAWARE
ルーティング設定を指定すると、現在の交通状況を考慮せずにルート計算が行われます。このルーティング設定では、レスポンス レイテンシが最も短くなります(レスポンスが最も速く返されます)。
TRAFFIC_UNAWARE
がデフォルトの設定です。
レスポンスの説明:
予定時刻は
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 を使用すると、交通情報対応ポリラインに沿った交通状況に関する情報をリクエストできます。詳細については、ポリラインをリクエストするをご覧ください。