Gestisci tappe

Questo documento descrive come gestire le preferenze delle tappe per la tua app utilizzando due funzionalità:

  • Preferenze dei percorsi su strada
  • Tappa

Imposta il lato della preferenza per i percorsi stradali

Per impostazione predefinita, l'SDK di navigazione per iOS trova il percorso più veloce verso un waypoint; tuttavia, ciò non garantisce che l'utente arriverà sulla il lato desiderato della strada, ad esempio il lato della strada su cui si effettua il ridesharing mentre il cliente del conducente sta aspettando. La preferenza dei percorsi su strada ti consente di assicurarti che il veicolo arrivi dal lato corretto della strada.

Come funziona

Imposti la preferenza per arrivare su un determinato lato della strada quando e creiamo il waypoint per quella fermata. Puoi specificare la preferenza in una delle seguenti opzioni: in molti modi diversi.

Preferenza dello stesso lato della strada

Tu fornisci le coordinate geografiche del waypoint e poi imposti una bandiera preferSameSideOfRoad che indica che preferisci arrivare lo stesso laterale della strada come tappa, agganciata al marciapiede più vicino.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                   preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;

Intestazione segmento preferito

Specifica le coordinate geografiche del waypoint e poi fornisci una intestazione arrivo preferredSegmentHeading che corrisponde alla direzione del flusso del traffico sullo stesso lato della strada destinazione.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                preferredSegmentHeading:(int32_t)preferredSegmentHeading;

L'SDK di navigazione sceglie il tratto di strada più vicino al waypoint—che ha una direzione della corsia allineata (entro +/- 55 gradi) con la dal lato della strada in cui si trova la tappa.

Imposta preferenze per le tappe

In alcune zone, gli utenti non possono fermarsi in sicurezza (ad esempio, aree sopraelevate, traghetti, punti sotterranei e altre aree . La funzionalità Stopover sposta la tappa in un luogo vicino se la sua posizione non è adatta a un utente per fermarsi. Se imposti Da vehicleStopover a YES, la tappa viene riposizionata automaticamente viene calcolato il percorso, se è disponibile una località alternativa.

Come funziona

Puoi impostare la preferenza per una sosta quando crei il waypoint per quella fermata. Per farlo, imposta la preferenza per uno scalo in una GMSNavigationMutableWaypoint come mostrato nell'esempio seguente:

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){...}];