最近的道路

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,或者您使用的是最近的道路,则响应中包含的坐标数量可能会多于请求中包含的坐标数量。内插值不会有 originalIndex。这些值的索引从 0 开始,因此 originalIndex 为 4 的点将是传递给 path 参数的第 5 个纬度/经度的贴靠值。Nearest Roads 点可能包含单个坐标的多个点,这些点具有不同的位置或 placeId。

LatitudeLongitudeLiteral

一个对象,用于描述以十进制度为单位的纬度和经度所表示的特定位置。

字段 必需 类型 说明
required 数值

纬度(以十进制度为单位)

required 数值

经度(以十进制度为单位)