为何使用 Routes API
借助 Routes API,您可以根据交通详情、最新路况和路况以及路线偏好设置来获取准确的路线和行程信息:
不同交通方式的类型和功能
车辆行驶的方向
路边,方便上车或下车
路况和封路
安全问题,例如避开危险区域或提供安全上车区域
使用通行费和行程元数据(如时间和距离以及燃油效率)等可选功能来平衡延迟时间、质量和费用,满足您的路线需求
您还可以确定最高效的调度安排路线,例如:
如何分配一组工作器来提取一系列软件包
确定将包裹从哪个仓库发货到最终目的地的最佳仓库
Routes API 有哪些功能?
您可以使用 Routes API 获取两类主要的路由信息:
从某个位置到单个或多个目的地的路线
多个起始位置和结束位置之间的可能路线矩阵。
获取单个或多个目的地的路线
您可以使用 Routes API Compute Routes
方法计算不同位置之间的距离:
获取不同出行方式的路线以及单个或多个目的地的路线:
交通方式,包括公交、驾车、双轮机动车、步行或骑行。
您可以对一系列航点进行优化,以便以最高效的顺序行进。
多种指定出发地、目的地和航点的方式:
文本字符串。例如:“伊利诺伊州芝加哥市”“Darwin, NT, Australia”“1800 Amphitheatre Parkway, Mountain View, CA 94043”或“CWF6+FWX Mountain View, California”
地点 ID
纬度和经度坐标(可视需要添加车辆方向)
根据您的需求和目标微调路线选项:
根据车辆的发动机类型选择燃油或节能路线:柴油、电动、混合动力、汽油。如需了解详情,请参阅获取环保路线。
设置精细的流量计算选项,以便在质量与延迟时间之间做出权衡取舍。如需了解详情,请参阅指定添加流量数据的方式和是否添加。
为航点设置车辆方向(行驶方向)和道路一侧信息,以提高预计到达时间 (ETA) 的准确度。如需了解详情,请参阅指定车辆方向和道路一侧。
指定直通车与航站楼位置,以及安全的停靠位置。如需了解详情,请参阅设置路线沿途的经停点和设置要经过的路线的点。
请求通行费信息,以及路线距离和预计到达时间。如需了解详情,请参阅计算路线的通行费。
使用字段掩码仅请求您需要的数据,从而控制延迟时间和质量,这有助于避免不必要的处理时间并增加请求结算费率。如需了解详情,请参阅选择要返回的信息。
获取可能路线的矩阵
Routes API Compute Route Matrix
方法可提供多个起点和终点之间的推荐路线信息矩阵(包括距离和预计到达时间),帮助您根据业务需求选择最佳的出发地和目的地。您可以请求以下几类距离数据:
所选出行方式的距离
距离(以公里或英里为单位)
交通拥堵时的预计行程时间
通过距离数据,您可以确定在多个可能的出发地和目的地之间路由乘客、货物或工作人员的最有效方式。
您可以在计算整个矩阵之前流式传输响应元素,从而缩短响应延迟时间。
您可以为每个服务器端请求指定多个出发地和目的地,将出发地数量乘以目的地数量(最多 625 个)。
Routes API 的工作原理
Routes API 有两个方法:ComputeRoute
和 ComputeRouteMatrix
。
ComputeRoute
Routes API ComputeRoute
方法接受 HTTP POST 请求,其请求正文中包含请求详细信息。必须提供出发地、目的地、travelMode 和字段掩码(用于指定要返回的字段)。
示例
curl -X POST -d '{ "origin": { "address": "1800 Amphitheatre Parkway, Mountain View, CA 94043" }, "destination": { "address": "Sloat Blvd &, Upper Great Hwy, San Francisco, CA 94132" }, "travelMode": "DRIVE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
然后,该服务会计算请求的路线,并返回您请求的字段。
ComputeRouteMatrix
Routes API ComputeRouteMatrix
接受 HTTP POST 请求,其请求正文中包含请求详细信息。必须至少包含一个出发地、两个或多个目的地、travelMode 和字段掩码(用于指定要返回的字段)。
示例
curl -X POST -d '{ "origins": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420761, "longitude": -122.081356 } } } }, { "waypoint": { "location": { "latLng": { "latitude": 37.403184, "longitude": -122.097371 } } } } ], "destinations": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420999, "longitude": -122.086894 } } } }, { "waypoint": { "location": { "latLng": { "latitude": 37.383047, "longitude": -122.044651 } } } } ], "travelMode": "DRIVE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \ 'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'
响应包含所有出发地和目的地航点组合的可能路线。
资源
下表总结了 Routes API 提供的资源及其返回的数据。
数据资源 | 返回的数据 | 返回格式 |
---|---|---|
ComputeRoute | 返回某条路线的路线、路程和路段以及备选路线(如有请求)。 | JSON |
ComputeRouteMatrix | 返回从一个出发地航点到一个目的地航点的路线数组。 |
如何使用 Routes API
1 | 开始设置 | 从设置您的 Google Cloud 项目开始,并按照下面的设置说明完成操作。 |
2 | 计算路线并查看响应 | 如需了解详情,请参阅获取路线和查看路线响应。 |
3 | 计算路线矩阵并查看响应 | 如需了解详情,请参阅获取路线矩阵和查看路线矩阵响应。 |
可用的客户端库
如需查看 Routes API 的可用客户端库列表,请参阅客户端库。