Gestisci tappe

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

  • Preferenze di routing per il lato della strada
  • Sosta

Imposta la preferenza di routing per il lato della strada

Per impostazione predefinita, l'SDK di navigazione per iOS trova il percorso più rapido per raggiungere un waypoint, ma questo non garantisce che l'utente arrivi sul lato della strada desiderato, ad esempio il lato della strada in cui il cliente di un conducente di un servizio di car sharing è in attesa. La funzionalità Preferenza di routing sul lato della strada ti consente di assicurarti che il veicolo arrivi sul lato corretto della strada.

Come funziona

Puoi impostare la preferenza per l'arrivo su un lato specifico della strada quando crei il waypoint per quella fermata. Puoi specificare la preferenza in uno dei due modi seguenti.

Preferisci lo stesso lato della strada

Fornisci le coordinate geografiche del waypoint e poi imposti un flag preferSameSideOfRoad che indica che preferisci arrivare sullo stesso lato della strada del waypoint, agganciato al marciapiede più vicino.

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

Imposta una direzione di arrivo

Fornisci le coordinate geografiche del waypoint e poi una direzione di arrivo preferredSegmentHeading che corrisponda alla direzione del flusso del 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 segmento di strada più vicino al waypoint che ha una direzione della corsia che si allinea (entro +/- 55 gradi) con il lato della strada su cui si trova il waypoint.

Imposta la preferenza per le tappe

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

Come funziona

Puoi impostare la preferenza per una sosta quando crei il waypoint per quella sosta. Per farlo, imposta la preferenza per una sosta 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){...}];