交通模型會使用特定演算法和因素,預測交通狀況對特定路線總行程時間的影響。Routes API 提供不同類型的流量模型,可優先考量計算流量中時間長度的不同因素。計算路線或路線矩陣的時長時,您可以指定路線要使用的交通模型類型。設定流量模型類型時,duration
欄位中傳回的值會因您選擇的流量模型而異。
Routes API Compute Routes
和 Compute Route Matrix
方法都支援流量模型類型。
根據預設,這兩種方法都會使用 BEST_GUESS
流量模型類型。
指定流量類型
設定起點和目的地。
如果出發時間在未來,請使用
departure_time
參數加入時間。如未指定出發時間,系統會預設為現在。將
routingPreference
參數設為TRAFFIC_AWARE_OPTIMAL
。將routingPreference
設為TRAFFIC_UNAWARE
或TRAFFIC_AWARE
與trafficModel
參數不相容。使用
trafficModel
參數選取要使用的流量模型,以及下列其中一種類型:BEST_GUESS
(預設):要求傳回的duration_in_traffic
是根據歷來路況和即時車流量兩者的已知相關資訊,計算而得的最佳預估交通時間。departure_time
距離現在的時間越近,即時車流量的影響力就越大。使用預設的BEST_GUESS
類型,可為大多數用途提供最實用的預測結果。PESSIMISTIC
,要求傳回的duration_in_traffic
模型根據交通狀況不佳時的歷來交通狀況,預估交通時間。這類預估時間通常較長,在大多數日子都會比實際交通時間長。但偶爾路況特別差時,實際交通時間可能會超過這個預估值。OPTIMISTIC
,要求傳回的duration_in_traffic
模型根據路況良好的日子,模擬當時的交通時間。這類預估時間通常短於大多數日子的實際交通時間。偶爾路況特別好時,實際交通時間可能會短於這個預估值。
例如:
"trafficModel": "OPTIMISTIC"
BEST_GUESS
在欄位遮罩中指定
routes.duration
欄位。REST
-H X-Goog-FieldMask: routes.duration
RPC
const (fieldMask = "routes.duration")
Routes API 估算交通時間時,會使用您要求的交通模型類型。
範例:流量模型要求
舉例來說,這項要求指定在特定出發時間,使用 OPTIMISTIC
流量模型類型估算時間長度:
curl -X POST -H 'content-type: application/json' -d ' { "origin": { "address": "Kyoto, Japan" }, "destination": { "placeId": "ChIJrYtcv-urAWAR3XzWvXv8n_s" }, "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE_OPTIMAL", "trafficModel": "OPTIMISTIC" }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
這項要求會使用行程的 OPTIMISTIC
流量模型類型,傳回預估時間:
"duration": "1238s"
如果將流量模型類型變更為 PESSIMISTIC
,傳回的時間長度會較長:
"duration": "2436s"