Roads API 使用多达 100 个独立的坐标,并返回距离每个点最近的路段。传递的点不必是连续路径的一部分。
如果您处理的是连续的 GPS 点,请使用沿实际道路 (Snap to Roads)。
请求
向“最近的道路”服务发出的请求必须使用 HTTPS,并且采用以下格式:
https://roads.googleapis.com/v1/nearestRoads?parameters&key=YOUR_API_KEY必需参数
-
积分
要贴靠的点。points 参数接受纬度/经度对的列表。用英文逗号分隔纬度和经度值。使用竖线字符“|”分隔坐标。例如:
points=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796。
示例
以下请求会根据指定的坐标列表返回一组路段。
网址
https://roads.googleapis.com/v1/nearestRoads ?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://roads.googleapis.com/v1/nearestRoads?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796&key=YOUR_API_KEY'
响应
对于每个有效请求,Roads API 都会以请求网址中指示的格式返回响应。
{ "snappedPoints": [ { "location": { "latitude": 60.170878428876755, "longitude": 24.94269540970182 }, "originalIndex": 0, "placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w", }, { "location": { "latitude": 60.17087741412199, "longitude": 24.942695474405202 }, "originalIndex": 1, "placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w", }, { "location": { "latitude": 60.170875416131736, "longitude": 24.942695601802203 }, "originalIndex": 2, "placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w", }, ], }
响应使用以下架构。
NearestRoadsResponse
| 字段 | 必需 | 类型 | 说明 |
|---|---|---|---|
|
可选 | 数组<SnappedPoint> |
贴合点的数组。有时包含同一地点的多个贴合点,但这些点的 placeId 或位置不同。 如需了解详情,请参阅 SnappedPoint。 |
SnappedPoint
| 字段 | 必需 | 类型 | 说明 |
|---|---|---|---|
|
required | LatitudeLongitudeLiteral | 如需了解详情,请参阅 LatitudeLongitudeLiteral。 |
|
required | 字符串 |
地点的唯一标识符。Roads API 返回的所有地点 ID 都对应于路段。 |
|
可选 | 数值 |
一个整数,用于指示原始请求中的相应值。请求中的每个值都应映射到响应中的贴靠值。不过,如果您已将 interpolate 设置为 true,或者您使用的是最近的道路,则响应中包含的坐标数量可能会多于请求中包含的坐标数量。内插值不会有 |
LatitudeLongitudeLiteral
一个对象,用于描述以十进制度为单位的纬度和经度所表示的特定位置。
| 字段 | 必需 | 类型 | 说明 |
|---|---|---|---|
|
required | 数值 |
纬度(以十进制度为单位) |
|
required | 数值 |
经度(以十进制度为单位) |