本指南介绍了如何将使用 Directions API 或 Distance Matrix API 的应用迁移到使用 Routes API。如需详细了解 Routes API,请参阅产品概览。
迁移结算最佳实践
如果您的 API 用量足够高,可以进入第二层级价格,则适用此指南。迁移到较新版本的 API 时,您还需要为其他 SKU 付费。为避免在过渡月份产生额外费用,我们建议您在生产环境中尽可能在月初切换到新 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 中已重命名或修改的参数,或正式版中不支持的参数。如果您使用了其中任何参数,请更新您的代码。
请求参数转化
| 路线或距离矩阵参数 | Routes API 参数 | 备注 |
|---|---|---|
alternatives |
computeAlternativeRoutes |
|
arrival_time |
arrivalTime |
仅在 TRANSIT 模式下可用,不能与 departureTime 同时使用。 |
avoid |
routeModifiers |
|
departure_time |
departureTime |
无法与 arrivalTime 同时使用。 |
language |
languageCode |
仅支持 Compute 路由。 |
mode |
travelMode |
使用 |
region |
regionCode |
|
traffic_model |
trafficModel |
了解详情 |
transit_mode |
"travelMode": "TRANSIT" |
在 Directions API(旧版)中,在公交路线中,行程中采用相同出行方式(例如步行或公交)的每个路段都被视为一个路段,而该出行方式的各个路线指示则位于子路段中。相比之下,在 Routes API 中,对于所有类型的出行方式,路段始终是一条导航指令。因此,每条导航指令都是一个步骤。 对于一种出行方式中的多个步骤,Routes API 会在 `stepsOverview` 中提供包含该出行方式步骤摘要的元数据。如需请求此元数据,请使用 `routes.legs.stepsOverview` 字段掩码。 了解详情。 |
transit_routing_preference |
transitRoutingPreference |
了解详情 |
units |
units |
了解详情 |
waypoints |
intermediates |
移除了对编码多段线的支持。 |
optimize=true(航点) |
"optimizeWaypointOrder": "true" |
了解详情 |
响应参数转化
| 路线或距离矩阵参数 | Routes API 参数 | 备注 |
|---|---|---|
copyrights |
不包含在回答中。向用户显示结果时,您必须包含以下声明:
例如:
|
|
distance |
distanceMeters |
距离仅以米为单位。 |
duration_in_traffic |
duration |
已在 Routes API 中移除,请使用 duration。 |
status |
不可用。使用 HTTP 响应代码来表示 API 报告的错误。如需了解详情,请参阅处理请求错误。 | |
geocoded_waypoints |
geocoding_results |
仅支持 Compute Routes。仅包含指定为地址的航点的地理编码响应信息。 |
bounds |
viewport |
|
legs.end_address |
不可用。 | 使用地点 ID(而非坐标)进行高精确度路线规划。地点 ID 包含将路线贴靠到正确接入点的数据。
|
legs.start_address |
不可用。 | |
overview_polyline |
polyline | |
summary |
description |
|
waypoint_order |
optimizedIntermediateWaypointIndex |