根据一组终点和中间航点,返回主路线和可选备选路线。
注意:此方法要求您在输入中指定响应字段掩码。您可以使用网址参数 $fields
或 fields
,或使用 HTTP/gRPC 标头 X-Goog-FieldMask
提供响应字段掩码(请参阅可用的网址参数和标头)。该值是以英文逗号分隔的字段路径列表。请参阅有关如何构建字段路径的详细文档。
例如,在此方法中:
- 所有可用字段的字段掩码(用于手动检查):
X-Goog-FieldMask: *
- 路线级时长、距离和多段线(生产环境设置示例)的字段掩码:
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google 不建议使用通配符 (*
) 响应字段掩码或在顶级 (routes
) 指定字段掩码,因为:
- 仅选择您需要的字段可帮助我们的服务器节省计算周期,从而以更短的延迟时间将结果返回给您。
- 仅选择生产作业中需要的字段,可确保稳定的延迟性能。我们未来可能会添加更多响应字段,这些新字段可能需要额外的计算时间。如果您选择所有字段,或者选择顶层的所有字段,则效果可能会下降,因为我们添加的所有新字段都会自动包含在响应中。
- 仅选择所需字段可以降低响应大小,从而提高网络吞吐量。
HTTP 请求
POST https://routespreferred.googleapis.com/v1:computeRoutes
网址采用 gRPC 转码语法。
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 |
---|
{ "origin": { object ( |
字段 | |
---|---|
origin |
必需。出发地航点。 |
destination |
必需。目的地航点。 |
intermediates[] |
可选。沿路线的一组航点(不包括终点),用于在经停点或经过。最多支持 25 个中间航点。 |
travelMode |
可选。指定交通方式。 |
routingPreference |
可选。指定如何计算路由。服务器尝试使用所选路由偏好设置来计算路由。如果路由偏好设置导致错误或延迟时间过长,则会返回错误。将来,我们可能会实现一种回退机制,以便在首选选项无法给出有效结果时使用其他选项。只有在 |
polylineQuality |
可选。指定您对多段线质量的偏好。 |
polylineEncoding |
可选。指定多段线的首选编码。 |
departureTime |
可选。出发时间。如果未设置此值,则此值默认为您发出请求的时间。如果将此值设置为已发生的时间,则请求将失败。 时间戳,采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,具有纳秒级分辨率,最多包含九个小数位。示例: |
computeAlternativeRoutes |
指定是否除了路由之外,还计算备选路由。 |
routeModifiers |
可选。一组要满足的,会影响路线计算方式的条件。 |
languageCode |
可选。BCP-47 语言代码,例如“en-US”或“sr-Latn”。如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。如需查看受支持语言的列表,请参阅语言支持。如果您未提供此值,系统会根据路线请求的位置推断显示语言。 |
units |
可选。指定显示字段的度量单位。这包括 |
optimizeWaypointOrder |
如果 optimizationWaypointOrder 设置为 true,则系统会尝试对指定的中间航点重新排序,以尽可能降低路线的总体费用。如果任何中间航点是通过航点,请求将失败。使用 ComputeRoutesResponse.Routes.Optimized_intermediate_path_index 来找到新顺序。如果 |
响应正文
如果成功,则响应正文包含一个 ComputeRoutesResponse
实例。
授权范围
需要以下 OAuth 作用域:
https://www.googleapis.com/auth/maps-platform.routespreferred
有关详情,请参阅 OAuth 2.0 概览。