
Domyślnie pakiet Navigation SDK na Androida znajduje najszybszą trasę do punktu pośredniego, ale nie gwarantuje to, że pojazd dotrze na tę stronę drogi, na której czeka klient, ani że miejsce przyjazdu będzie bezpieczne dla kierowcy. W tym przewodniku opisujemy 2 funkcje, których możesz używać w takich sytuacjach:
- Ustawienie trasy po stronie drogi
- Funkcja postoju
Ustawienie routingu dotyczące strony drogi
Podczas tworzenia punktu na trasie możesz ustawić preferencję dotyczącą przyjazdu na określoną stronę drogi. Możesz określić preferencje na 2 sposoby: preferuj tę samą stronę drogi lub podaj kierunek przyjazdu.
Preferuj tę samą stronę drogi
Podajesz współrzędne geograficzne punktu na trasie, a następnie ustawiasz flagę (setPreferSameSideOfRoad), która wskazuje, że chcesz dotrzeć po tej samej stronie drogi co punkt na trasie – przyciągnięty do najbliższego chodnika.
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setPreferSameSideOfRoad(true)
.build()
Ustawianie kierunku przybycia
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 fragment drogi najbliższy punktowi na trasie, który ma kierunek pasa ruchu zgodny (w zakresie +/- 55 stopni) ze stroną drogi, po której znajduje się punkt na trasie.
Ustaw preferencje dotyczące przesiadek
W niektórych miejscach kierowcy nie mogą bezpiecznie się zatrzymać (np. na wzniesieniach, promach, w miejscach podziemnych i innych obszarach o ograniczonym dostępie). Funkcja Przystanek przenosi punkt na trasie do miejsca w pobliżu, 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 lokalizacja alternatywna.
Jak to działa
Ustawienia postoju określasz podczas tworzenia punktu na trasie dla tego postoju.
Aby to zrobić, określ preferencję setVehicleStopover, jak pokazano w tym przykładzie:
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setVehicleStopover(true)
.build()