Domyślnie pakiet Navigation SDK na Androida wyznacza najszybszą trasę do punktu pośredniego, ale nie gwarantuje to, że pojazd dotrze po stronie drogi, po której czeka klient, ani że miejsce docelowe jest bezpieczne dla kierowcy. W tym przewodniku opisujemy 2 funkcje, które możesz wykorzystać w takich sytuacjach:
- Ustawienie trasy po stronie drogi
- Funkcja przesiadki
Preferencje routingu po stronie trasy
Podczas tworzenia punktu pośredniego możesz określić preferencje dotyczące przyjazdu po określonej stronie drogi. Preferencje możesz określić na 2 sposoby: wybrać tę samą stronę drogi lub podać kierunek przyjazdu.
Prefer the same side of the road
Podajesz współrzędne geograficzne punktu pośredniego, a następnie ustawiasz flagę (setPreferSameSideOfRoad
), która wskazuje, że wolisz dotrzeć do punktu pośredniego po tej samej stronie drogi – przy najbliższym chodniku.
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setPreferSameSideOfRoad(true)
.build()
Ustawianie kierunku przyjazdu
Podajesz współrzędne geograficzne punktu pośredniego, a następnie kierunek przyjazdu (setPreferredHeading
), który odpowiada kierunkowi ruchu po tej samej stronie drogi, po której czeka klient.
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setPreferredHeading(preferredHeading)
.build()
Pakiet Navigation SDK wybiera odcinek drogi najbliższy punktowi pośredniemu, który ma kierunek pasa ruchu zgodny (w zakresie +/- 55 stopni) ze stroną drogi, na której znajduje się punkt pośredni.
Ustawianie preferencji dotyczących przesiadek
W niektórych miejscach kierowcy nie mogą bezpiecznie się zatrzymać (np. na podwyższonych obszarach, promach, w lokalizacjach podziemnych i innych obszarach o ograniczonym dostępie). Funkcja Przystanek przenosi punkt pośredni do pobliskiego miejsca, jeśli jego lokalizacja nie jest odpowiednia do zatrzymania pojazdu. Gdy ustawisz
setVehicleStopover
na true
, punkt pośredni zostanie automatycznie przeniesiony podczas obliczania trasy, jeśli dostępna jest alternatywna lokalizacja.
Jak to działa
Ustawienie preferencji dotyczących postoju określasz podczas tworzenia punktu pośredniego.
Aby to zrobić, określ preferencję setVehicleStopover
, jak w tym przykładzie:
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setVehicleStopover(true)
.build()