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
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 waypoint e poi imposti un indicatore
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;
Titolo del segmento preferito
Fornisci le coordinate geografiche del waypoint 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 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){...}];