Ближайшие дороги

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.

Примеры

Следующий запрос возвращает набор сегментов дорог на основе указанного списка координат.

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'

Ответы

Для каждого допустимого запроса 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

Поле Обязательно Тип Описание
необязательно Массив<SnappedPoint>

Массив привязанных точек. Иногда содержит несколько привязанных точек для одной и той же точки с разными placeId или местоположениями.

Подробнее о том, SnappedPoint…

SnappedPoint

Поле Обязательно Тип Описание
Обязательно LatitudeLongitudeLiteral Подробнее LatitudeLongitudeLiteral…
Обязательно string

Уникальный идентификатор места. Все идентификаторы мест, возвращаемые Roads API, соответствуют сегментам дорог.

необязательно число

Целое число, которое указывает на соответствующее значение в исходном запросе. Каждое значение в запросе должно сопоставляться с привязанным значением в ответе. Однако если вы задали значение true для параметра interpolate или используете ближайшие дороги, то в ответе может быть больше координат, чем в запросе. У интерполированных значений нет originalIndex. Индексация начинается с 0, поэтому точка с originalIndex, равным 4, будет привязанным значением пятой пары координат широты/долготы, переданной в параметре path. Точки Nearest Roads могут содержать несколько точек для одних координат с разными местоположениями или placeId.

LatitudeLongitudeLiteral

Объект, описывающий определенное местоположение с помощью широты и долготы в десятичных градусах.

Поле Обязательно Тип Описание
Обязательно число

Широта в десятичных градусах

Обязательно число

Долгота в десятичных градусах.