Промежуточные точки маршрута — это указанные места между начальной и конечной точками, через которые должен проходить маршрут.
В одном запросе можно определить до 25 промежуточных точек маршрута, используя свойство массива intermediates метода REST computeRoutes или метода gRPC ComputeRoutes .
Остановки на пути следования против транзитных точек.
Промежуточную точку маршрута можно настроить либо как место остановки, либо как место транзита:
- Остановка : По умолчанию транспортное средство останавливается в указанном месте. Каждая точка остановки разделяет маршрут, добавляя запись
RouteLegв массивlegsв ответе. Для получения дополнительной информации см. раздел «Установка остановки на маршруте» . - Проезд через точку маршрута с параметром
"via"в значенииtrue: транспортное средство проезжает через указанное место без остановки. Проезд через точки маршрута не добавляет записи в массивlegs". Для получения дополнительной информации см. раздел "Установка точки для проезда по маршруту" .
Участки маршрута и промежуточные точки
Для каждой промежуточной остановки в запросе ответ содержит отдельный объект RouteLeg в массиве routes.legs .
Например, маршрут, включающий пункт отправления, одну промежуточную остановку и пункт назначения, содержит два участка : * Участок 1 : От пункта отправления до промежуточной остановки. * Участок 2 : От промежуточной остановки до пункта назначения.
Пример: Запрос с промежуточной точкой маршрута.
В следующем примере массив intermediates используется для добавления одной промежуточной остановки к маршруту.
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "travelMode": "DRIVE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Ответ с несколькими ответвлениями маршрута
Поскольку промежуточная точка в запросе является промежуточной остановкой, для которой не установлен параметр "via": true , ответ разделяет маршрут на два участка в массиве legs :
{ "routes": [ { "distanceMeters": 805, "duration": "248s", "legs": [ { "distanceMeters": 207, "duration": "89s", "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.0807792 } } }, { "distanceMeters": 598, "duration": "159s", "startLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.0807792 } }, "endLocation": { "latLng": { "latitude": 37.4176166, "longitude": -122.0793882 } } } ] } ] }