Questo documento descrive come gestire le preferenze dei punti di passaggio per la tua app utilizzando due funzionalità:
- Preferenze di routing per 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 questo 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 di routing per 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 due modi.
Preferenza: 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, allineato al marciapiede più vicino.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;
Impostare una rotta di arrivo
Fornisci le coordinate geografiche del punto di passaggio e poi 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 direzione di corsia allineata (entro +/- 55 gradi) al lato della strada su cui si trova il waypoint.
Impostare la preferenza di sosta
In alcuni luoghi, non è possibile per gli utenti fermarsi in sicurezza (ad esempio, su strade sopraelevate, traghetti, stazioni della metropolitana 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 dell'utente. Se imposti vehicleStopover
su YES
, il waypoint viene riposizionato automaticamente quando viene calcolato il percorso, se è disponibile una posizione alternativa.
Come funziona
Imposti la preferenza per una sosta quando crei il punto di passaggio per la fermata.
Per farlo, imposta la preferenza per una sosta su un
GMSNavigationMutableWaypoint
come mostrato nell'esempio seguente:
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: {...})
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){...}];