Gestisci tappe

Questo documento descrive come gestire le preferenze dei punti di passaggio per la tua app utilizzando due funzionalità:

  • Preferenze di routing per il lato della strada
  • Sosta

Impostare la preferenza di routing per il lato della strada

Per impostazione predefinita, l'SDK Navigation per iOS trova il percorso più rapido per raggiungere un punto di riferimento, ma ciò non garantisce che l'utente arrivi sul lato della strada desiderato, ad esempio il lato della strada su cui è in attesa il cliente di un conducente di rideshare. La funzionalità Preferenza per il lato della strada consente di assicurarti che il veicolo arrivi sul lato corretto della strada.

Come funziona

Imposti la preferenza per arrivare su un determinato lato della strada quando crei il waypoint per la fermata. Puoi specificare la preferenza in uno dei due modi.

Preferenza per lo stesso lato della strada

Fornisci le coordinate geografiche del punto di passaggio e imposta un indicatore preferSameSideOfRoad che indichi che preferisci arrivare sullo stesso lato della strada del punto di passaggio, allineato al marciapiede più vicino.

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

Titolo del segmento preferito

Fornisci le coordinate geografiche del punto di passaggio e poi fornisci un'indicazione di arrivo preferredSegmentHeading che corrisponda alla direzione del flusso di traffico sullo stesso lato della strada della destinazione.

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

L'SDK Navigation sceglie il tratto di strada più vicino al waypoint, con una corsia in linea (entro +/- 55 gradi) con il lato della strada su cui si trova il waypoint.

Impostare la preferenza di scalo

In alcuni luoghi, non è possibile per gli utenti fermarsi in sicurezza (ad esempio su strade sopraelevate, traghetti, luoghi sotterranei e altre aree con accesso limitato). La funzionalità Sosta sposta il waypoint in un luogo nelle vicinanze se la sua posizione non è adatta per una fermata. Quando imposti vehicleStopover su YES, il waypoint viene spostato automaticamente quando viene calcolato il percorso, se è disponibile una posizione alternativa.

Come funziona

Imposti la preferenza per una fermata quando crei il waypoint per quella fermata. Per farlo, imposta la preferenza per una fermata su un 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){...}];