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

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

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

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

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

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

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

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