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