流量模型使用特定的算法和因素来预测交通状况对给定路线的总行程时间的影响。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"
在字段掩码中指定
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"