Questo documento descrive come gestire le preferenze dei waypoint 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ù rapido fino a una tappa, ma non garantisce che l'utente arrivi sul lato desiderato della strada, ad esempio il lato della strada su cui il cliente del conducente di ridesharing sta aspettando. La funzionalità Preferenza per i percorsi su strada ti consente di assicurarti che il veicolo arrivi nel lato corretto della strada.
Come funziona
Puoi impostare la preferenza per l'arrivo su un determinato lato della strada quando crei la tappa per quella fermata. Puoi specificare la preferenza in due modi.
Preferenza dello stesso lato della strada
Tu fornisci le coordinate geografiche del waypoint e poi imposti una bandiera preferSameSideOfRoad
per indicare che preferisci arrivare sullo stesso lato della strada in cui si trova la tappa, agganciata al marciapiede più vicino.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;
Intestazione segmento preferito
Devi fornire le coordinate geografiche del waypoint, quindi fornire un'intestazione di arrivo preferredSegmentHeading
che corrisponda alla direzione del flusso del traffico sullo stesso lato della strada rispetto alla 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, con una direzione della corsia allineata (entro +/- 55 gradi) con il lato della strada su cui si trova la tappa.
Imposta preferenze per le tappe
In alcuni luoghi non è possibile fermarsi in sicurezza (ad esempio in aree sopraelevate, traghetti, stazioni sotterranee e altre aree con accesso limitato). La funzionalità Stopover sposta la tappa in un luogo nelle vicinanze se la sua posizione non è adatta a un utente per fare una fermata. Se imposti vehicleStopover
su YES
, il waypoint viene riposizionato automaticamente durante il calcolo del 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 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){...}];