最近道路

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

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

如果您使用的是連續 GPS 點,請使用對齊道路

要求

最近的道路要求必須透過 HTTPS 傳送,格式如下:

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

Required parameters

  • points

    The points to be snapped. The points parameter accepts a list of latitude/longitude pairs. Separate latitude and longitude values with commas. Separate coordinates with the pipe character: "|". For example: points=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.

Generated from the OpenAPI specification. Edit Report bug

範例

下列要求會根據指定的座標清單,傳回一組道路區段。

網址

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'

JavaScript

var axios = require('axios');

var config = {
  method: 'get',
  url: 'https://roads.googleapis.com/v1/nearestRoads?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796&key=YOUR_API_KEY',
  headers: { }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

Python

import requests

url = "https://roads.googleapis.com/v1/nearestRoads?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796&key=YOUR_API_KEY"

payload={}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Java

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://roads.googleapis.com/v1/nearestRoads?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796&key=YOUR_API_KEY")
  .method("GET", body)
  .build();
Response response = client.newCall(request).execute();

Ruby

require "uri"
require "net/http"

url = URI("https://roads.googleapis.com/v1/nearestRoads?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796&key=YOUR_API_KEY")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)

response = https.request(request)
puts response.read_body

Go

package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://roads.googleapis.com/v1/nearestRoads?points=60.170880,24.942795%7C60.170879,24.942796%7C60.170877,24.942796&key=YOUR_API_KEY"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}

郵報

OpenAPI 規格也提供 Postman 集合。

在 Postman 中執行

回應

對於每個有效的要求,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

FieldRequiredTypeDescription
optional Array<SnappedPoint>

An array of snapped points. Sometimes containing several snapped points for the same point with differing placeId or location.

See SnappedPoint for more information.

Generated from the OpenAPI specification. Edit Report bug

SnappedPoint

FieldRequiredTypeDescription
requiredLatitudeLongitudeLiteral See LatitudeLongitudeLiteral for more information.
requiredstring

A unique identifier for a place. All place IDs returned by the Roads API correspond to road segments.

optionalnumber

An integer that indicates the corresponding value in the original request. Each value in the request should map to a snapped value in the response. However, if you've set interpolate=true or if you're using nearest roads, then it's possible that the response will contain more coordinates than the request. Interpolated values will not have an originalIndex. These values are indexed from 0, so a point with an originalIndex of 4 will be the snapped value of the 5th latitude/longitude passed to the path parameter. Nearest Roads points may contain several points for single coordinates with differing location or placeId.

Generated from the OpenAPI specification. Edit Report bug

LatitudeLongitudeLiteral

An object describing a specific location with Latitude and Longitude in decimal degrees.

FieldRequiredTypeDescription
requirednumber

Latitude in decimal degrees

requirednumber

Longitude in decimal degrees

Generated from the OpenAPI specification. Edit Report bug