Z tego dokumentu dowiesz się, jak zarządzać ustawieniami punktów orientacyjnych w aplikacji za pomocą 2 funkcji:
- Ustawienia preferencji dotyczącej strony drogi
- Przesiadka
Ustawianie preferencji dotyczącej strony drogi
Domyślnie Navigation SDK na iOS znajduje najszybszą trasę do punktu orientacyjnego, ale nie gwarantuje to, że użytkownik dotrze do celu po właściwej stronie drogi, np. po tej samej stronie, po której stoi klient kierowcy. Funkcja Preferencja kierowania po stronie drogi pozwala zapewnić, że pojazd dotrze po właściwej stronie drogi.
Jak to działa
Ustawienie preferencji dotyczącej dojazdu po konkretnej stronie drogi następuje podczas tworzenia punktu kontrolnego dla danego przystanku. Preferencje możesz określić na 2 sposoby.
Preferowanie tej samej strony drogi
Użytkownik podaje współrzędne geograficzne punktu drogowego, a następnie ustawia flagę
preferSameSideOfRoad
wskazującej, że woli dojechać po tej samej stronie drogi co punkt drogowy – przybliżony do najbliższego chodnika.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;
Ustawianie nagłówka przyjazdu
Wprowadź współrzędne geograficzne punktu drogi, a następnie kierunek dojazdu
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 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 użytkownicy nie mogą bezpiecznie zatrzymać się (np. na wyniesionych 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 się. Gdy ustawisz opcję vehicleStopover
na YES
, punkt kontrolny zostanie automatycznie przeniesiony w miejsce, w którym wyznaczono trasę, 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 preferencję dotyczącą przesiadki na
GMSNavigationMutableWaypoint
w ten sposób:
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){...}];