指定要使用的流量模型类型

欧洲经济区 (EEA) 开发者

流量模型使用特定算法和因素来预测路况对给定路线的总行程时间的影响。Routes API 提供不同的流量模型类型,以优先考虑计算交通时间时使用的不同因素。您可以指定在计算路线或路线矩阵的行程时间时,希望路线使用的流量模型类型。设置流量模型类型后,duration 字段中返回的值会因您选择的流量模型而异。

Routes API 的 Compute RoutesCompute Route Matrix 方法都支持流量模型类型。

默认情况下,这两种方法都使用 BEST_GUESS 流量模型类型。

指定流量类型

  1. 设置出发地和目的地。

  2. 如果您的出发时间在未来,请使用 departure_time 参数添加时间。如果您未指定出发时间,则默认使用当前时间。

  3. routingPreference 参数设置为 TRAFFIC_AWARE_OPTIMAL。将 routingPreference 设置为 TRAFFIC_UNAWARETRAFFIC_AWAREtrafficModel 参数不兼容。

  4. 使用 trafficModel 参数和以下类型之一选择要使用的流量模型:

    • BEST_GUESS (默认)- 表示返回的 duration_in_traffic 应该是最准确的行程时间估算值(根据已知的历史路况信息和实时路况信息得出)。departure_time 越接近当前时间,实时路况信息就越重要。对于绝大多数用例,使用默认类型 BEST_GUESS 可以提供最有用的预测。

    • PESSIMISTIC - 表示返回的 duration_in_traffic 会根据路况较差日期的历史路况信息来模拟时间。 这种类型给出的估算行程时间在大多数日子里很可能长于 实际行程时间。偶尔路况特别糟糕的时候,实际行程时间仍可能会超过此估算值。

    • OPTIMISTIC - 表示返回的 duration_in_traffic 会根据路况较好日期的历史路况信息来模拟时间。 这种类型给出的估算行程时间在大多数日子里很可能短于 实际行程时间。偶尔路况特别理想的时候,实际行程时间仍可能会小于此估算值。

    例如:

    "trafficModel": "OPTIMISTIC"

  5. 在字段掩码中指定 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"