Questo documento descrive come gestire le preferenze dei waypoint per la tua app utilizzando due funzionalità:
- Preferenze di routing sul lato della strada
- Stopover
Impostare la preferenza di routing sul lato della strada
Per impostazione predefinita, l'SDK Navigation per iOS trova il percorso più veloce per un waypoint, ma ciò non garantisce che l'utente arrivi sul lato della strada desiderato, ad esempio il lato della strada su cui attende il cliente di un autista di rideshare. La funzionalità Preferenza di itinerario sul lato della strada ti consente di assicurarti che il veicolo arrivi sul lato corretto della strada.
Come funziona
Imposti 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.
Preferisco lo stesso lato della strada
Fornisci le coordinate geografiche del waypoint e poi imposta 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;
Impostare una direzione di arrivo
Fornisci le coordinate geografiche del waypoint e poi un
orientamento 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, che ha una direzione di corsia che si allinea (entro +/- 55 gradi) con il lato della strada su cui si trova il waypoint.
Impostare la preferenza per lo scalo
In alcuni luoghi, gli utenti non possono fermarsi in sicurezza (ad esempio,
aree sopraelevate, traghetti, luoghi sotterranei e altre aree con accesso
limitato). La funzionalità Sosta sposta il waypoint in un luogo vicino se la sua posizione non è adatta per una sosta. Quando imposti
vehicleStopover
su YES
, il waypoint viene riposizionato automaticamente durante il calcolo
del percorso, se è disponibile una posizione alternativa.
Come funziona
Imposti la preferenza per una sosta quando crei il waypoint per quella sosta.
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){...}];