您选择的流量偏好设置可平衡路线详情的精确性与请求性能。发出请求时,您需要权衡是返回最准确的结果,还是尽快返回结果。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,您可以请求沿着流量感知多段线的路况信息。如需了解详情,请参阅请求多段线。