从 Directions API 或 Distance Matrix API 迁移

本指南介绍了如何将使用 Directions API 或 Distance Matrix API 的应用迁移到使用 Routes API 的应用。如需详细了解 Routes API,请参阅产品概览

更新 REST API 端点

更新代码以使用新的 Routes API 端点

通过 Directions API

Directions API https://maps.googleapis.com/maps/api/directions/outputFormat?parameters
Routes API https://routes.googleapis.com/directions/v2:computeRoutes

来自 Distance Matrix API

Distance Matrix API https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters
Routes API https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

转换网址参数以使用 HTTPS 请求正文

借助 Directions API 和 Distance Matrix API,您可以将配置属性作为网址参数传递给 HTTP GET 请求。例如,对于 Directions API:

https://maps.googleapis.com/maps/api/directions/outputFormat?parameters

借助 Routes API,您可以将参数作为 HTTP POST 请求的一部分在请求正文或标头中传递。如需查看示例,请参阅:

将多段线编码的航点转换为地点航点

可在 Directions API 中将航点指定为编码多段线,以便将大量航点符合 16384 个字符的网址限制。此功能在 Routes API 中不是必需的,因为航点可以在 REST 或 gRPC 请求正文中作为纬度/经度坐标传输。如需查看示例,请参阅计算路线矩阵文档中的 HTTP 示例,或指定中间航点文档中的定义中间航点

转换参数

下表列出了 Directions API 和 Distance Matrix API 中已重命名或修改的参数,或 GA 版本中不支持的参数。如果您使用的是上述任何参数,请更新您的代码。

请求参数转化

路线或距离矩阵参数 Routes API 参数 备注
alternatives computeAlternativeRoutes
arrival_time arrivalTime 仅在 TRANSIT 模式下可用,且与 departureTime 不同。
avoid routeModifiers
departure_time departureTime 无法与arrivalTime同时使用。
language languageCode 仅适用于计算路由。
mode travelMode

添加了对 TWO_WHEELERTRANSIT 的支持。

region regionCode
traffic_model trafficModel 了解详情
transit_mode "travelMode": "TRANSIT" 在 Directions API 中,在公交路线中,具有相同出行方式(例如步行或公交)的行程的每个路段都被视为一个路段,该出行方式的各个路线均包含子路段。相比之下,在 Routes API 中,对于所有类型的行程,路段始终是一条导航指示。因此,每条导航指令都是一个步骤。 对于一种出行方式中的多个路段,Routes API 会在“stepsOverview”中提供包含该出行方式路段摘要的元数据。如需请求此类元数据,请使用“routes.legs.stepsOverview”字段掩码。 了解详情
transit_routing_preference transitRoutingPreference 了解详情
units 不适用于路线矩阵。
waypoints intermediates 移除了对编码多段线的支持。
optimize=true 适用于航点 "optimizeWaypointOrder": "true" 了解详情

响应参数转化

路线或距离矩阵参数 Routes API 参数 备注
copyrights

未包含在回答中。向用户显示结果时,您必须添加以下语句:

Powered by Google, ©YEAR Google

例如:

Powered by Google, ©2022 Google

distance distanceMeters 距离只能以米为单位。
duration_in_traffic duration 已从 Routes API 中移除,请改用 duration
status 不可用。对于 API 报告的错误,请使用 HTTP 响应代码。如需了解详情,请参阅处理请求错误
geocoded_waypoints geocoding_results 仅适用于计算路由。仅包含指定为地址的航点的地理编码响应信息。
bounds viewport
legs.end_address 不可用。
legs.start_address 不可用。
overview_polyline 多段线
summary description
waypoint_order optimizedIntermediateWaypointIndex