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 или используете ближайшие дороги, то в ответе может быть больше координат, чем в запросе. У интерполированных значений нет |
LatitudeLongitudeLiteral
Объект, описывающий определенное местоположение с помощью широты и долготы в десятичных градусах.
| Поле | Обязательно | Тип | Описание |
|---|---|---|---|
|
Обязательно | число |
Широта в десятичных градусах |
|
Обязательно | число |
Долгота в десятичных градусах. |