가장 가까운 도로

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

다음 요청은 지정된 좌표 목록에 기반한 도로 구간 집합을 반환합니다.

URL

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는 요청 URL에 표시된 형식으로 응답을 반환합니다.

{
  "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