您選取的流量偏好設定可以在路線詳細資料的準確度與要求效能之間取得平衡。當您提出要求時,您可能會想要決定傳回最準確的結果是否更好,還是盡快傳回結果。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 可讓您要求與車流量感知折線一起要求路況資訊。詳情請參閱「要求折線」一文。