選択したトラフィック設定は、ルートの詳細の精度とリクエストのパフォーマンスのバランスを取ります。リクエストを行うときは、可能な限り最も正確な結果を返すべきか、できるだけ迅速に結果を返すべきかを判断する必要があります。Routes API には、レスポンス データの品質とレスポンスのレイテンシを制御できるオプションが用意されています。
交通量データのレベルを設定する
Routes API には、RoutingPreference(REST)と RoutingPreference(gRPC)を使用します。これにより、ルート計算用のルーティング設定を指定できます。これらの設定は、ルート計算でトラフィック状態を考慮する点で異なります。ルーティング設定ごとに、ルートの品質、推定到着予定時刻、レスポンス レイテンシの点で結果が異なります。
交通状況は交通の流れの速さを表します。次に例を示します。
- 輻輳が発生していない場合、交通状況は正常とみなされ、正常な速度でトラフィックが流れます。
- ラッシュアワーに近づくと、交通密度が増加し、トラフィックが減少し、軽度から中程度の交通状況が発生します。
- バンパーからバンパーへの交通量では流量が急激に減り、交通量が増加します。
道路状況が不明
TRAFFIC_UNAWARE
ルーティング設定を設定すると、現在の交通状況を考慮せずにルートが計算されます。このルーティング設定では、レスポンスのレイテンシが最も低くなります(レスポンスが最も早く返されます)。
デフォルトの設定は TRAFFIC_UNAWARE
です。
レスポンスの説明:
ETA は
duration
レスポンス プロパティに含まれています。duration
とstaticDuration
のレスポンス プロパティは同じ値を含みます。
このルーティング設定は、レスポンスを最短時間で返したい場合や、おおよそのルーティング情報で十分な場合に使用します。
トラフィック アウェア
TRAFFIC_AWARE
ルーティング設定を設定すると、現在の交通状況を考慮してルートが計算されます。その結果、ルートとルートの詳細は、実世界の状況をより正確に反映しています。このデータ品質の向上ではレスポンスのレイテンシが犠牲になるため、パフォーマンスの最適化が適用されてレイテンシが大幅に短縮されます。
レスポンスの説明:
リアルタイムのトラフィックを考慮した到着予定時刻は、
duration
レスポンス プロパティに含まれています。staticDuration
レスポンス プロパティには、交通状況を考慮せずにルートを走行する時間が含まれます。
このルーティング設定は、TRAFFIC_UNAWARE
よりも正確なルーティングの詳細が必要で、レスポンスが返ってもレイテンシが中程度に増加しても構わない場合に使用します。
トラフィック アウェア オプティクス
TRAFFIC_AWARE_OPTIMAL
ルーティング設定を設定すると、現在のトラフィック条件を考慮してルートが計算されますが、パフォーマンスの最適化は適用されません。このモードでは、サーバーは道路網をより網羅的に検索して最適なルートを見つけます。
TRAFFIC_AWARE_OPTIMAL
ルーティング設定は、maps.google.com や Google マップ モバイルアプリで使用されるモードと同じです。
このオプションを Compute Route Matrix で使用する場合、リクエスト内の要素数(出発地の数 × 目的地の数)は 100 以内にする必要があります。Compute Route Matrix の上限について詳しくは、ルート マトリックスを計算するをご覧ください。
レスポンスの説明:
リアルタイムのトラフィックを考慮した到着予定時刻は、
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 を使用すると、交通状況に対応したポリラインに沿った交通状況の情報をリクエストできます。詳しくは、ポリラインをリクエストするをご覧ください。