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