您選取的流量偏好設定會透過下列兩種方式,平衡路線詳細資料的準確度與要求效能:
車流量監測:傳回盡可能準確的結果 (延遲時間較長)。
不監測車流量:盡可能快速傳回結果 (延遲時間最短)。
提出要求時,請權衡是要盡可能傳回最準確的結果,還是盡快傳回結果。Routes API 提供多種選項,可讓您控管回應資料的品質,以及回應的延遲時間。
如何設定流量等級
Routes API 提供 RoutingPreference (REST) 和 RoutingPreference (gRPC),可讓您指定計算路線時的路線偏好設定。
預設為不考慮流量的結果。您可以透過 TRAFFIC_UNAWARE
、TRAFFIC_AWARE
和 TRAFFIC_AWARE_OPTIMAL
路線偏好設定選取交通選項。每種路徑偏好設定產生的結果,在路徑品質、預估抵達時間和回應延遲方面都有所不同。
路況
路況會顯示車流速度:
車流暢通:車流以正常速度行駛,沒有壅塞情形。
車流順暢至中等:交通越來越壅塞,車速減緩。
交通壅塞:嚴重壅塞,車速大幅降低。
未提供路況資訊
「TRAFFIC_UNAWARE
」為預設設定。如果您希望系統盡快傳回回應,且近似路徑詳細資料已足夠,請使用這項路徑偏好設定。
TRAFFIC_UNAWARE
路線的計算方式不會考量目前的交通狀況。這種偏好設定可確保要求獲得最快的回應 (延遲時間最短)。
如果選擇 TRAFFIC_UNAWARE
,系統會根據路網及與時間無關的平均路況來選擇路線和時間,不會考量目前路況。因此,路線可能會包含暫時封閉的道路。受到路網變動、平均路況更新,以及這項服務的分散性質影響,特定要求的結果可能會隨時間而改變。此外,在時間或頻率都沒有限制的情況下,即使兩條路線幾乎相同,結果還是有可能不同。
你會看到以下回覆:
duration
:包含路線的預計抵達時間。staticDuration
:僅考量歷史交通資訊的路徑預計到達時間。如果是TRAFFIC_UNAWARE
,這個值與duration
相同。
路況資訊
如果您希望取得比 TRAFFIC_UNAWARE
更準確的路線詳細資料,但可以接受回應延遲時間略為增加,就適合使用這項路線偏好設定。
設定 TRAFFIC_AWARE
路線偏好設定後,服務會根據目前的交通狀況計算路線。因此,路線和路線詳細資料會更準確地反映實際情況。雖然資料品質提升會導致回應延遲,但我們已進行效能最佳化,大幅縮短延遲時間。
你會看到以下回覆:
duration
:根據即時路況資訊計算的預計到達時間。staticDuration
僅考量歷來交通資訊的路線預計抵達時間。
車流量監測最佳路線
如果您想取得最高品質的結果,且不在乎回應時間長度,請使用這項路徑偏好設定。這個轉送偏好設定的回應延遲時間最長 (延遲時間最高)。
設定 TRAFFIC_AWARE_OPTIMAL
路線偏好設定後,服務會根據目前的交通狀況計算路線,但不會套用效能最佳化設定。在這個模式下,伺服器會更全面地搜尋道路網路,找出最佳路線。
TRAFFIC_AWARE_OPTIMAL
路線偏好設定等同於 maps.google.com 和 Google 地圖行動應用程式使用的模式。
搭配 Compute Route Matrix 使用這個選項時,要求中的元素數 (起點數 × 目的地數) 不得超過
- 如要進一步瞭解 Compute Route Matrix 限制,請參閱「計算路徑矩陣」。
你會看到以下回覆:
duration
:根據即時路況資訊計算出的路線預計到達時間。staticDuration
:僅考量歷史交通資訊的路徑預計到達時間。
設定出發時間 (選填)
只有在流量感知要求中,且出發時間必須在未來時,才使用這個屬性。如未設定 departureTime
屬性,系統會預設為您提出要求的時間。
如要調整服務預測流量的方式 (選擇路線時),請一併使用 departureTime
屬性以及 TRAFFIC_AWARE
和 TRAFFIC_AWARE_OPTIMAL
選項。
TRAFFIC_UNAWARE
:不建議,因為路線和所需時間的選擇將取決於路網,以及不考慮時間的平均路況。TRAFFIC_AWARE
和TRAFFIC_AWARE_OPTIMAL
: 建議用於近期出發的行程,因為這些偏好設定會將即時路況納入考量。departureTime
距離現在的時間越近,即時車流量的影響力就越大。如果將出發時間設在較遠的未來,系統在選取路線時,會更著重考量歷來路況。
範例:如何選取車流量監測路線
下列 JSON 程式碼示範如何在要求訊息實體主體中設定 TRAFFIC_AWARE_OPTIMAL
路由偏好設定。
{ "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 可讓您要求考量車流量的折線沿線的車流量資訊。詳情請參閱「要求折線」一文。