Управление путевыми точками

По умолчанию Navigation SDK для Android находит кратчайший маршрут к путевой точке, однако это не гарантирует, что автомобиль прибудет на ту сторону дороги, где ожидает пассажир, или что место прибытия будет безопасным для остановки водителя. В этом руководстве описаны две функции, которые можно использовать в таких ситуациях:

  • Предпочтение при выборе обочины дороги
  • Функция остановки

Предпочтение отдается стороне маршрута

При создании путевой точки для остановки вы можете указать предпочтительный маршрут прибытия на определённую сторону дороги. Вы можете указать предпочтительный маршрут одним из двух способов: выбрать ту же сторону дороги или указать направление прибытия.

Предпочитаю ту же сторону дороги

Вы указываете географические координаты точки маршрута, а затем устанавливаете флаг ( setPreferSameSideOfRoad ), который указывает, что вы предпочитаете прибыть на ту же сторону дороги, что и точка маршрута, то есть привязанную к ближайшему тротуару.

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferSameSideOfRoad(true)
           .build()

Установите заголовок прибытия

Вы указываете географические координаты точки маршрута, а затем указываете направление прибытия ( setPreferredHeading ), которое соответствует направлению транспортного потока на той же стороне дороги, что и ожидающий потребитель.

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferredHeading(preferredHeading)
           .build()

Навигационный SDK выбирает ближайший к путевой точке сегмент дороги, направление полосы которого совпадает (в пределах +/- 55 градусов) с той стороной дороги, на которой находится путевая точка.

Установить предпочтение остановке

В некоторых местах водители не могут безопасно остановиться (например, на возвышенностях, паромах, в подземных помещениях и других зонах с ограниченным доступом). Функция Stopover переносит путевую точку в ближайшее место, если его местоположение не подходит для остановки транспортного средства. Если для параметра setVehicleStopover задано значение true , путевая точка автоматически переносится при расчёте маршрута, если доступно альтернативное местоположение.

Как это работает

Настройки для остановочного пункта устанавливаются при создании путевой точки для этой остановки. Для этого укажите настройку setVehicleStopover , как показано в следующем примере:

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setVehicleStopover(true)
           .build()