您选择的流量偏好设置会以以下两种方式之一平衡路线详细信息的准确性与请求性能:
可感知路况 - 返回尽可能准确的结果(延迟时间较长)。
不感知路况 - 尽快返回结果(延迟时间最短)。
发出请求时,请权衡是返回尽可能准确的结果,还是尽快返回结果。Routes API 提供了一些选项,可让您控制响应数据的质量与响应延迟时间。
如何设置流量级别
Routes API 提供 RoutingPreference (REST) 和 RoutingPreference (gRPC),可用于指定计算路线时的路线偏好设置。
默认值为“不考虑流量的结果”。您可以使用 TRAFFIC_UNAWARE
、TRAFFIC_AWARE
和 TRAFFIC_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 地图移动应用所使用的模式。
将此选项与“计算路线矩阵”搭配使用时,请求中的元素数(出发地数量 × 目的地数量)不得超过
- 如需详细了解“计算路线矩阵”的限制,请参阅计算路线矩阵。
您会看到以下回答:
duration
:考虑实时路况信息的路线预计到达时间。staticDuration
:仅考虑历史交通信息的路线预计到达时间。
设置出发时间(可选)
仅针对需要将出发时间设为未来的流量感知请求使用此属性。如果您未设置 departureTime
属性,则该属性默认为您发出请求的时间。
如果您想调整服务在选择路线时预测流量的方式,请将 departureTime
属性与 TRAFFIC_AWARE
和 TRAFFIC_AWARE_OPTIMAL
选项搭配使用。
TRAFFIC_UNAWARE
:不推荐,因为路线和时长的选择是基于道路网和与时间无关的平均路况信息。TRAFFIC_AWARE
和TRAFFIC_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,您可以请求获取有关考虑路况的多段线沿线的路况信息。如需了解详情,请参阅请求折线。