Z tego dokumentu dowiesz się, jak zarządzać ustawieniami punktów pośrednich w aplikacji za pomocą 2 funkcji:
- Ustawienia wyznaczania trasy po stronie drogi
- Przystanek
Ustawianie preferencji wyznaczania trasy po stronie drogi

Domyślnie pakiet Navigation SDK na iOS znajduje najszybszą trasę do punktu pośredniego, ale nie gwarantuje to, że użytkownik dotrze na wybraną stronę drogi, np. na stronę, na której czeka klient kierowcy. Funkcja Ustawienia wyznaczania trasy po stronie drogi pozwala zapewnić, że pojazd dotrze na właściwą stronę drogi.
Jak to działa
Ustawiasz preferencje dotyczące przyjazdu na konkretną stronę drogi podczas tworzenia punktu pośredniego dla tego przystanku. Możesz określić preferencje na 2 sposoby.
Preferowanie tej samej strony drogi
Podajesz współrzędne geograficzne punktu pośredniego, a następnie ustawiasz flagę
preferSameSideOfRoad
która wskazuje, że wolisz dotrzeć na tę samą stronę drogi co
punkt pośredni – przyciągnięty do najbliższego chodnika.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;
Ustawianie kierunku przyjazdu
Podajesz współrzędne geograficzne punktu pośredniego, a następnie podajesz
kierunek przyjazdu
preferredSegmentHeading
który odpowiada kierunkowi ruchu po tej samej stronie drogi co
miejsce docelowe.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferredSegmentHeading:(int32_t)preferredSegmentHeading;
Pakiet Navigation SDK wybiera odcinek drogi najbliższy punktowi pośredniemu, którego kierunek pasa ruchu jest zgodny (w zakresie +/- 55 stopni) ze stroną drogi, na której znajduje się punkt pośredni.
Ustawianie preferencji przystanku
W niektórych miejscach użytkownicy nie mogą bezpiecznie się zatrzymać (np. na terenach podwyższonych, 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 się. Gdy ustawisz vehicleStopover na YES, punkt pośredni zostanie automatycznie przeniesiony podczas obliczania trasy, jeśli dostępna jest alternatywna lokalizacja.
Jak to działa
Ustawiasz preferencje dotyczące przystanku podczas tworzenia punktu pośredniego dla tego przystanku.
Aby to zrobić, ustaw preferencje dotyczące przystanku w GMSNavigationMutableWaypoint, jak pokazano w tym przykładzie:
Swift
let location = CLLocationCoordinate2D(latitude: 47.67, longitude: -122.20) let waypoint = GMSNavigationMutableWaypoint(location: location, title: "waypoint from location")! waypoint.vehicleStopover = true mapView.navigator?.setDestinations([waypoint], routingOptions: routingOptions, callback: {...})
Objective-C
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20); GMSNavigationMutableWaypoint *waypoint = [[GMSNavigationMutableWaypoint alloc] initWithLocation:location title:@"waypoint from location"]; waypoint.vehicleStopover = YES; [_mapView.navigator setDestinations:@[waypoint1] routingOptions:routingOptions callback:^(GMSRouteStatus routeStatus){...}];