您选择的流量偏好设置会通过以下两种方式之一来平衡路线详细信息的准确性与请求性能:
可感知路况 \- 返回尽可能准确的结果(延迟时间较长 )。
不可感知路况 - 尽快返回结果(延迟时间最短)。
发出请求时,请权衡一下是返回尽可能准确的结果,还是尽快返回结果。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 地图移动应用使用的模式。
如果您将此选项与 Compute Route Matrix 搭配使用,则请求中的元素数量(出发地数量 × 目的地数量)会受到限制。 如需详细了解 Compute Route Matrix 的限制,请参阅计算路线矩阵。
您会看到以下响应:
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" }