Добавить остановку на маршруте, например для посадки или высадки пассажира, можно двумя способами:
- Добавить промежуточную путевую точку. Этот вариант выбран по умолчанию. Добавьте промежуточную путевую точку между пунктами отправления и назначения в массив
intermediates. Механизм построения маршрутов привязывает промежуточную точку к ближайшей дороге и делит маршрут наRouteLegсегментов, соединенных этой точкой. - Укажите vehicleStopover. Если вы хотите, чтобы при построении маршрута учитывались участки дорог, на которых нельзя останавливаться (например, шоссе, туннели или эстакады), задайте для путевой точки значение
vehicleStopover: true.
Как добавить промежуточную путевую точку
Чтобы задать остановку на маршруте, добавьте промежуточную путевую точку в массив intermediates в запросе.
Добавление промежуточной путевой точки приводит к следующим последствиям:
- Маршрут разделен на
RouteLegсегментов. Каждый сегмент соединяет одну остановку со следующей. - Координаты привязываются к дороге. Система маршрутизации привязывает указанные вами координаты широты и долготы, которые могут находиться на крыше или во дворе, к ближайшему сегменту дороги, по которому можно проехать.
Для многих улиц привязка к ближайшей дороге обеспечивает практичное место остановки. Однако привязка не определяет, подходит ли этот сегмент дороги для остановки, например, если ближайшая дорога – это шоссе или туннель.
Пример: добавление промежуточной путевой точки
В следующем примере показано, как задать остановку на маршруте, добавив промежуточную путевую точку в запрос POST computeRoutes:
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'
Подробнее о промежуточных путевых точках и участках маршрута…
Как указать остановку транспортного средства для проверки возможности получения и возврата
Стандартная промежуточная путевая точка привязывается к ближайшей дороге, но эта дорога не всегда подходит для остановки транспортного средства. Если вы хотите, чтобы механизм прокладки маршрута выполнил дополнительный анализ, чтобы оценить пригодность дороги для посадки или высадки, задайте для путевой точки значение vehicleStopover: true.
Если задать значение vehicleStopover: true, механизм построения маршрутов будет оценивать возможные участки дорог и стараться избегать тех, на которых нельзя останавливаться, например автострад, туннелей и эстакад.
Например, если дорога проходит над шоссе в туннеле, стандартная промежуточная точка будет привязана к шоссе или туннелю, если они геометрически ближе к вашим координатам. * Остановка транспортного средства. Выполняется дополнительный анализ, чтобы объехать автомагистраль и туннель, а остановка была на подходящей для этого дороге.
Пример: указание vehicleStopover для путевой точки
В следующем примере показано, как задать vehicleStopover: true для промежуточной путевой точки в полном запросе POST:
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 } }, "vehicleStopover": true } ], "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'
Подробнее о типах и параметрах путевых точек…