Domyślnie pakiet programistyczny Nawigacja na Androida znajduje najszybszą trasę do punktu kontrolnego, ale nie gwarantuje, że pojazd dotrze do miejsca, w którym czeka klient, po tej samej stronie drogi, ani że miejsce docelowe będzie bezpieczne dla kierowcy. W tym przewodniku opisano 2 funkcje, których możesz użyć w tych sytuacjach:
- Preferowany kierunek jazdy
- Funkcja przesiadki
Preferowany pas ruchu na trasie
Ta funkcja pozwala Ci mieć pewność, że pojazd dotrze po właściwej stronie drogi. Ustawiasz preferencję dotarcia po określonej stronie drogi, gdy tworzysz punkt drogi dla tego przystanku. Możesz określić preferencję na 2 sposoby: preferowanie tej samej strony drogi lub podanie kierunku dojazdu.
Preferuj tę samą stronę drogi
Użytkownik podaje współrzędne geograficzne punktu drogowego, a następnie ustawia flagę (setPreferSameSideOfRoad
), która wskazuje, że woli dojechać po tej samej stronie drogi co punkt drogowy, przy czym droga jest przycięta do najbliższego chodnika.
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setPreferSameSideOfRoad(true)
.build()
Ustawianie nagłówka przybycia
Należy podać współrzędne geograficzne punktu kontrolnego, a następnie kierunek przybycia (setPreferredHeading
), który odpowiada kierunkowi ruchu po tej samej stronie drogi co oczekujący klient.
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setPreferredHeading(preferredHeading)
.build()
Navigation SDK wybiera odcinek drogi najbliższy punktowi kontrolnemu, który ma kierunek pasa ruchu zgodny (w zakresie +/- 55°) z stroną drogi, na której znajduje się punkt kontrolny.
Ustawianie preferencji dotyczących przesiadki
W niektórych miejscach kierowcy nie mogą bezpiecznie zatrzymać się (np. na wzniesieniach, na promie, w pomieszczeniach podziemnych i w miejscach o ograniczonym dostępie). Funkcja Przesiadka przenosi punkt kontrolny w pobliższe miejsce, jeśli jego lokalizacja nie jest odpowiednia do zatrzymania pojazdu. Gdy ustawisz parametr setVehicleStopover
na true
, punkt kontrolny zostanie automatycznie przeniesiony w momencie obliczenia trasy, jeśli dostępna jest inna lokalizacja.
Jak to działa
Ustawienia dotyczące postoju przesiadkowego są ustawiane podczas tworzenia punktu kontrolnego dla tego przystanku.
Aby to zrobić, określ preferencję setVehicleStopover
w ten sposób:
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setVehicleStopover(true)
.build()