您选择的流量偏好设置可平衡路线详情的精确性与请求性能。发出请求时,您需要权衡是返回尽可能准确的结果,还是尽可能快速返回结果。Routes API 提供了一些选项,可让您控制响应数据的质量与响应延迟时间。
设置交通数据级别
Routes API 提供 RoutingPreference (REST) 和 RoutingPreference (gRPC),可让您指定路线计算的路线偏好设置。这些偏好设置的不同之处在于,它们在计算路线时将路况纳入考量范围的程度。每种路线偏好设置都会产生不同程度的路线质量、预计到达时间和响应延迟时间的结果。
路况信息用于描述交通流量速率。例如:
- 没有拥堵时,路况被视为正常,车辆以正常不受阻碍的速度行驶。
- 接近高峰时段时,交通密度会增加,导致车速放慢,从而形成轻度到中度交通状况。
- 在车水马龙的交通中,流速会降至零,造成严重的交通拥堵。
不了解交通状况
设置 TRAFFIC_UNAWARE
路线偏好设置后,系统会在不考虑当前路况的情况下计算路线。此路由偏好设置可提供最短的响应延迟时间(响应返回速度最快)。
TRAFFIC_UNAWARE
是默认设置。
在回复中:
预计到达时间包含在
duration
响应属性中。duration
和staticDuration
响应属性包含相同的值。
如果您希望系统尽快返回结果,并且大致的路线详情已经足够,请使用此路线偏好设置。
具有交通感知功能
设置 TRAFFIC_AWARE
路线偏好设置后,系统会根据当前交通状况计算路线。因此,路线和路线详情更准确地反映了实际情况。由于提高数据质量会导致响应延迟时间增加,因此系统会应用性能优化来大幅缩短延迟时间。
在回复中:
考虑实时交通状况的预计到达时间包含在
duration
响应属性中。staticDuration
响应属性包含沿着路线行驶的时长,不考虑交通状况。
如果您希望获得比 TRAFFIC_UNAWARE
更准确的路线详情,但不介意返回的响应延迟时间略有增加,请使用此路线偏好设置。
可感知路况的最佳路线
设置 TRAFFIC_AWARE_OPTIMAL
路线偏好设置后,系统会考虑当前的交通状况来计算路线,但不会应用任何性能优化。在此模式下,服务器会对道路网格执行更为详尽的搜索,以查找最佳路线。
TRAFFIC_AWARE_OPTIMAL
路线偏好设置相当于 maps.google.com 和 Google 地图移动应用使用的模式。
将此选项与计算路线矩阵搭配使用时,请求中的元素数(出发地数量 × 目的地数量)不得超过 100。如需详细了解计算路线矩阵的限制,请参阅计算路线矩阵。
在回复中:
考虑实时交通状况的预计到达时间包含在
duration
响应属性中。staticDuration
响应属性包含沿着路线行驶的时长,不考虑交通状况。
此路由偏好设置提供的响应延迟时间最长(即响应返回的延迟时间最长)。如果您希望获得最高质量的结果,而不考虑响应所需的时间,请使用此路由偏好设置。
设置出发时间的影响
您可以选择使用 departureTime
属性设置行程的出发时间。如果您未设置 departureTime
属性,则默认为您发出请求的时间。
对于
TRAFFIC_UNAWARE
,您无法设置departureTime
,因为系统会根据道路网和与时间无关的平均路况信息来选择路线和时长。对于会考虑实时路况信息的
TRAFFIC_AWARE
和TRAFFIC_AWARE_OPTIMAL
,departureTime
越接近当前时间,实时路况信息就越重要。您设置的出发时间越靠近未来,系统就越会考虑历史交通状况。
设置路由偏好设置示例
以下 JSON 代码演示了如何在请求消息实体正文中设置路由偏好设置。
{ "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,您可以请求有关感知交通状况的多段线沿途交通状况的信息。如需了解详情,请参阅请求多段线。