最近的道路

Roads API 最多可接受 100 個獨立座標,並傳回每個點最近的路段。傳遞的點不一定要是連續路徑的一部分。

如果您使用的是連續 GPS 點,請使用比對路徑。

要求

Nearest 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

欄位 必填 類型 說明
選填 Array<SnappedPoint>

貼齊點陣列。有時會包含多個貼齊點,這些點對應到同一個點,但 placeId 或位置不同。

詳情請參閱 SnappedPoint。

SnappedPoint

欄位 必填 類型 說明
required LatitudeLongitudeLiteral 詳情請參閱 LatitudeLongitudeLiteral。
required 字串

地點的專屬 ID。Roads API 傳回的所有地點 ID 都對應至路段。

選填 數字

整數,表示原始要求中的對應值。要求中的每個值都應對應至回應中的貼齊值。不過,如果您已設定 interpolate=true,或使用最近的道路,回應可能包含比要求更多的座標。內插值不會有 originalIndex。這些值的索引從 0 開始,因此 originalIndex 為 4 的點,會是傳遞至路徑參數的第 5 個經緯度貼齊值。Nearest Roads 點可能包含多個點,這些點具有不同的位置或 placeId,但座標相同。

LatitudeLongitudeLiteral

描述特定位置的物件,經緯度以十進制度數表示。

欄位 必填 類型 說明
required 數字

以十進制度數表示的緯度

required 數字

經度 (十進制度)