Zarządzaj punktami na trasie

Domyślnie pakiet SDK nawigacji dla Androida znajduje najszybszą trasę do punktu orientacyjnego, ale nie gwarantuje, że pojazd dotrze do miejsca, w którym czeka klient, ani że miejsce docelowe będzie bezpieczne dla kierowcy. W tym przewodniku opisaliśmy 2 funkcje, których możesz używać w tych sytuacjach:

  • Ustawienie preferowanego pobocza
  • Funkcja przesiadki

Strona preferowanego routingu

Ta funkcja pozwala Ci mieć pewność, że pojazd zatrzyma się po właściwej stronie drogi. Preferencje dotyczące dojazdu po określonej stronie drogi ustawiasz podczas tworzenia punktu kontrolnego dla danego 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 woli dojechać 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()

Ustawianie nagłówka przyjazdu

Musisz podać współrzędne geograficzne punktu drogi, 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()

Pakiet SDK nawigacji wybiera odcinek drogi najbliższy punktowi kontrolnemu, który ma kierunek pasa 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ć pojazdu (np. na wzniesieniach, na promie, 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

Ustawienia dotyczące postoju ustawiasz podczas tworzenia punktu kontrolnego dla tego przystanku. Aby to zrobić, ustaw ustawienie setVehicleStopover, jak w tym przykładzie:

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setVehicleStopover(true)
           .build()