En este documento, se describe cómo puedes administrar las preferencias de puntos de referencia para tu app usando dos funciones:
- Preferencias de rutas en el lado de la ruta
- Parada
Establece la preferencia de ruta en el lado de la ruta
De forma predeterminada, el SDK de Navigation para iOS encuentra la ruta más rápida a un punto de referencia, pero esto no garantiza que el vehículo llegará al costado de la ruta que espera el consumidor. La función Preferencia de ruta del lado de la ruta te permite asegurarte de que el vehículo llegue al lado correcto de la ruta.
Cómo funciona
Establece la preferencia para llegar a un lado particular de la ruta cuando creas el punto de referencia para esa parada. Puedes especificar la preferencia de dos maneras.
Prefiero el mismo lado de la ruta
Proporciona las coordenadas geográficas del punto de referencia y, luego, estableces una marca preferSameSideOfRoad
que indica que prefieres llegar al mismo lado de la ruta que el punto de referencia, ajustado a la acera más cercana.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;
Encabezado de segmento preferido
Proporciona las coordenadas geográficas del punto de referencia y, luego, la orientación de llegada preferredSegmentHeading
que coincida con la dirección del flujo del tráfico en el mismo lado de la ruta que el consumidor que está esperando.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferredSegmentHeading:(int32_t)preferredSegmentHeading;
El SDK de Navigation elige el tramo de ruta más cercano al punto de referencia, que tiene una dirección de carril que se alinea (dentro de +/- 55 grados) con el lado de la ruta en la que se encuentra el punto de referencia.
Establecer preferencia de parada
En algunos lugares, no es posible que los conductores se detengan de forma segura (por ejemplo, en áreas elevadas, ferris, ubicaciones subterráneas y otras áreas de acceso limitado). La función Parada reubica el punto de referencia a un lugar cercano si su ubicación no es adecuada para que un vehículo haga una parada. Cuando configuras vehicleStopover
en YES
, el punto de referencia se reubica automáticamente cuando se calcula la ruta, si hay una ubicación alternativa disponible.
Cómo funciona
Establece la preferencia para una parada cuando creas el punto de referencia para esa parada.
Para ello, establece la preferencia de una parada en un objeto GMSNavigationMutableWaypoint
, como se muestra en el siguiente ejemplo:
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){...}];