W tym dokumencie opisujemy, jak zarządzać ustawieniami punktów pośrednich w aplikacji za pomocą 2 funkcji:
- Strona ustawień trasy drogi
- Przesiadka
Określ stronę ustawienia wyznaczania trasy na drodze
Domyślnie pakiet SDK nawigacji na iOS znajduje najszybszą trasę do punktu pośredniego, ale nie gwarantuje, że pojazd znajdzie się na poboczu drogi, na którą czeka klient. Funkcja Ustawienia trasy dojazdu po stronie drogi pozwala upewnić się, że pojazd dotarł do właściwej strony drogi.
Jak to działa
Tworząc punkt na trasie do tego przystanku, ustawiasz preferencję dotarcia po określonej stronie drogi. Preferencję możesz określić na jeden z dwóch sposobów.
Preferowanie tej samej strony drogi
Podaj współrzędne geograficzne punktu na trasie, a potem ustawiasz flagę preferSameSideOfRoad
wskazującą, że wolisz dotrzeć po tej samej stronie drogi co punkt pośredni – położony przy najbliższym chodniku.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;
Nagłówek preferowanego segmentu
Podaj współrzędne geograficzne punktu na drodze, a następnie podaj kierunek preferredSegmentHeading
odpowiadający kierunkowi ruchu po tej samej stronie drogi co czekający konsument.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferredSegmentHeading:(int32_t)preferredSegmentHeading;
Pakiet SDK nawigacji wybiera segment drogi najbliżej punktu na trasie, którego kierunek pasa jest wyrównany (w zakresie +/- 55 stopni) do strony drogi, na której znajduje się punkt pośredni.
Ustaw preferencje przerwania
W niektórych miejscach kierowcy nie mają możliwości bezpiecznego zatrzymania się (np. na terenach podwyższonych, promach, w podziemiach i na innych obszarach o ograniczonym dostępie). Funkcja Stopover przenosi punkt pośredni do pobliskiego miejsca, jeśli lokalizacja nie jest odpowiednia do postoju pojazdu. 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
Ustawienie przystanków ustawia się podczas tworzenia punktu pośredniego dla tego przystanku.
Aby to zrobić, ustaw preferencję przerwania w punkcie GMSNavigationMutableWaypoint
, jak 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){...}];