设置流量水平

您选择的流量偏好设置会通过以下两种方式之一来平衡路线详情的精确性与请求性能:

  • 可感知路况 - 返回尽可能准确的结果(延迟时间较长)。

  • 不感知路况 - 尽快返回结果(最短的延迟时间)。

发出请求时,请权衡是尽可能返回最准确的结果,还是尽快返回结果。Routes API 提供了一些选项,可让您控制响应数据的质量与响应延迟时间。

如何设置交通量

Routes API 提供 RoutingPreference (REST) 和 RoutingPreference (gRPC),可让您指定路线计算的路线偏好设置。

默认是未知流量的结果。您可以使用 TRAFFIC_UNAWARETRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 路由偏好设置来选择流量选项。每种路线偏好设置都会生成路线质量、预计到达时间和响应延迟时间不同的结果。

路况信息

路况信息用于描述交通流量速率:

  • 正常交通:没有拥堵,车辆以正常速度行驶。

  • 车流量较少到中等:拥堵程度有所增加,车流速度有所放缓。

  • 交通拥堵:严重拥堵,车速大幅降低。

不了解交通

TRAFFIC_UNAWARE 是默认设置。如果您希望系统尽快返回结果,并且大致的路线详情已经足够,请使用此路线偏好设置。

计算 TRAFFIC_UNAWARE 路线时不会考虑当前路况。此路由偏好设置可使请求响应速度最快(延迟时间最短)。

如果您选择 TRAFFIC_UNAWARE,则系统会根据道路网和与时间无关的平均路况信息而非当前路况信息来选择路线和时长。因此,路线可能包括暂时关闭的道路。受道路网变化、平均路况信息更新以及服务的分布式性质的影响,给定请求的结果可能会随时间的推移而发生变化。此外,在时间或频率不受限制的情况下,几乎相等的路线之间的结果也可能有所差异。

您会看到以下回答:

  • duration - 包含相应路线的预计到达时间。

  • staticDuration:仅考虑历史交通信息的路线预计到达时间。对于 TRAFFIC_UNAWARE,此值包含与 duration 相同的值。

具有交通感知功能

如果您希望获得比 TRAFFIC_UNAWARE 更准确的路线详情,但不介意返回的响应延迟时间略有增加,请使用此路线偏好设置。

当您设置 TRAFFIC_AWARE 路线偏好设置时,该服务会考虑当前的交通状况来计算路线。因此,路线和路线详情更准确地反映了实际情况。由于提高数据质量会导致响应延迟时间增加,因此系统会应用性能优化来大幅缩短延迟时间。

您会看到以下回答:

  • duration:考虑实时交通信息的预计到达时间。

  • staticDuration 仅考虑历史路况信息的路线预计到达时间。

可感知路况的最佳路线

如果您希望获得最高质量的结果,而不考虑响应所需的时间,请使用此路由偏好设置。此路由偏好设置的响应返回延迟时间最长(延迟时间最高)。

当您设置 TRAFFIC_AWARE_OPTIMAL 路由偏好设置时,该服务会考虑当前的交通状况来计算路线,但不会应用性能优化。在此模式下,服务器会对道路网格执行更为详尽的搜索,以查找最佳路线。

TRAFFIC_AWARE_OPTIMAL 路线偏好设置相当于 maps.google.com 和 Google 地图移动应用使用的模式。

将此选项与计算路线矩阵搭配使用时,请求中的元素数(出发地数量 × 目的地数量)不得超过

  1. 如需详细了解计算路线矩阵的限制,请参阅计算路线矩阵

您会看到以下回答:

  • duration:考虑实时交通信息的路线预计到达时间。

  • staticDuration:仅考虑历史交通信息的路线预计到达时间。

设置出发时间(可选)

仅当出发时间需要设为未来时间时,才应针对感知交通状况的请求使用此属性。如果您未设置 departureTime 属性,则默认为您发出请求的时间。

如需调整服务在选择路线时预测交通量的运作方式,请将 departureTime 属性与 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 选项搭配使用。

  • TRAFFIC_UNAWARE不推荐,因为系统会根据道路网和与时间无关的平均路况信息来选择路线和时长。

  • TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL适用于近期出行,因为这些偏好设置会考虑实时交通状况。departureTime 越接近当前时间,实时路况信息就越重要和相关。您设置的出发时间越靠近未来,系统在选择路线时就越会考虑历史交通状况。

示例:如何选择可感知路况的路线

以下 JSON 代码演示了如何在请求消息实体正文中设置 TRAFFIC_AWARE_OPTIMAL 路由偏好设置。

{
  "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,您可以请求有关感知交通状况的多段线沿途交通状况的信息。如需了解详情,请参阅请求多段线