Zarządzaj punktami na trasie

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()