您选择的流量偏好设置会平衡路线详情的准确性与请求性能。发出请求时,您需要权衡是返回最准确的结果,还是尽快返回结果。借助 Routes API 提供的选项,您可以控制响应数据的质量与响应延迟时间。
设置流量数据级别
Routes API 提供 RoutingPreference (REST) 和 RoutingPreference (gRPC),可用来指定用于计算路由的路由偏好设置。这些偏好的不同之处在于,它们在路线计算中会考虑路况条件。每种路由偏好设置产生的结果在路线质量、预计 ETA 和响应延迟时间方面有所不同。
路况信息表明了交通流量的速率。例如:
- 如果没有拥堵,路况会被视为正常,流量则按正常的畅通速度流动。
- 临近高峰时段时,交通密度增加,导致路况变慢,导致交通畅通到中等程度。
- 在导视广告之间,流量会逐渐停止,从而导致拥堵情况。
不了解流量
设置 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,您可以请求沿流量感知多段线的路况信息。如需了解详情,请参阅请求多段线。