最近的道路

Roads API 最多可使用 100 个独立的 坐标,并返回距离每个点最近的路段。传递的点不必是连续路径的一部分。

如果您使用的是连续的 GPS 点,请使用 沿实际道路 (Snap to Roads)

请求

必须使用 HTTPS 发送最近道路的请求,并且采用以下形式:

https://roads.googleapis.com/v1/nearestRoads?parameters&key=YOUR_API_KEY

必需参数

  • points

    要贴合的点。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

字段 必需 类型 说明
可选 Array<SnappedPoint>

贴合点数组。有时,同一点会包含多个贴合点,这些贴合点的 placeId 或位置不同。

如需了解详情,请参阅 SnappedPoint

SnappedPoint

字段 必需 类型 说明
必需 LatitudeLongitudeLiteral 如需了解详情,请参阅 LatitudeLongitudeLiteral
必需 字符串

地点的唯一标识符。Roads API 返回的所有地点 ID 都对应于路段。

可选 数值

一个整数,表示原始请求中的相应值 。请求中的每个值都应映射到响应中的贴合值。 但是,如果您已设置 interpolate=true 或使用的是最近道路,则响应中包含的坐标可能比请求中的坐标多。插值不会有 originalIndex。这些值从 0 开始编制索引,因此 originalIndex 为 4 的点将是传递给 path 参数的第 5 个纬度/经度的贴合值。最近道路点可能包含单个坐标的多个点,这些点的 location 或 placeId 不同。

LatitudeLongitudeLiteral

一个对象,用于描述具有十进制度纬度和经度的特定位置。

字段 必需 类型 说明
必需 数值

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

必需 数值

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