您選取的流量偏好設定會平衡路線詳細資料的準確性與要求效能。發出要求時,您想要權衡要傳回最準確的結果,或是盡快傳回結果。Routes API 提供的選項可讓您控制回應資料與回應延遲時間的品質。
設定流量資料層級
Routes API 提供 RoutingPreference (REST) 和 RoutingPreference (gRPC),可讓您指定計算路徑的轉送偏好設定。這些偏好在計算路徑時會將路況納入考量。在路徑品質、預估預計到達時間和回應延遲時間方面,每個轉送偏好設定產生的結果各有差異。
路況是車流速率的特徵。例如:
- 如果沒有任何壅塞,系統就會視為正常路況,並以一般未經限制的速度來流動。
- 即將達到尖峰時段,車流量密度會增加,導致流量減慢,產生低至適當路況。
- 在串場廣告對流量的流量中,流量速率的攀爬器會停滯並造成大量的路況。
不知道路況
當您設定 TRAFFIC_UNAWARE
轉送偏好設定時,系統會在不考量目前路況的情況下計算路線。此轉送偏好設定提供最短的回應延遲時間 (回應的傳回速度最快)。
預設設定為 TRAFFIC_UNAWARE
。
在回覆中:
預計到達時間包含在
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 可讓您要求可偵測流量的折線中的路況資訊。詳情請參閱要求折線。