Domyślnie pakiet Navigation SDK na Androida znajduje najszybszą trasę do punktu pośredniego. Nie gwarantuje to jednak, że pojazd znajdzie się po tej stronie drogi, na której czeka klient, ani że kierowca może się na nim bezpiecznie się zatrzymać. W tym przewodniku opisaliśmy 2 funkcje, których możesz używać w takich sytuacjach:
- Ustawienie preferencji dotyczącej strony jezdni
- Funkcja przesiadki
Strona preferowanego routingu
Ta funkcja pozwala upewnić się, że pojazd dojedzie po właściwej stronie drogi. Preferencję przejazdu po określonej stronie drogi ustawia się podczas tworzenia punktu pośredniego dla tego przystanku. Preferencje możesz określić na 2 sposoby: wybierając tę samą stronę drogi lub podając kierunek dojazdu.
Preferowanie tej samej strony drogi
Użytkownik podaje współrzędne geograficzne punktu drogi, a następnie ustawia flagę (setPreferSameSideOfRoad
), która wskazuje, że preferuje dojazd po tej samej stronie drogi co punkt drogi, przy czym droga jest przypięta do najbliższego chodnika.
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setPreferSameSideOfRoad(true)
.build()
Ustaw nagłówek przyjazdu
Najpierw podajesz współrzędne geograficzne punktu kontrolnego, a potem 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()
Pakiet SDK nawigacji wybiera fragment drogi najbliższy waypointowi, który ma kierunek pasa zgodny (w zakresie +/- 55°) z stroną drogi, na której znajduje się waypoint.
Ustawianie preferencji dotyczących przesiadki
W niektórych miejscach kierowcy nie mogą bezpiecznie zatrzymać się (np. na podwyższonych obszarach, na promach, w miejscach 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 wartość setVehicleStopover
na true
, punkt kontrolny zostanie automatycznie przeniesiony w momencie obliczania trasy, jeśli dostępna jest inna lokalizacja.
Jak to działa
Preferencję przystanku określa się podczas tworzenia punktu pośredniego dla tego przystanku.
Aby to zrobić, określ ustawienie setVehicleStopover
zgodnie z poniższym przykładem:
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setVehicleStopover(true)
.build()