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

По умолчанию навигационный 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()