De forma predeterminada, el SDK de Navigation para Android encuentra la ruta más rápida a un punto de referencia, pero esto no garantiza que el vehículo llegue al lado de la ruta en el que espera el cliente ni que el lugar de llegada sea seguro para que el conductor se detenga. En esta guía, se describen dos funciones que puedes usar en estas situaciones:
- Preferencia de enrutamiento según el lado de la ruta
- Función de parada
Lado de la ruta (preferencia de ruta)
Puedes establecer una preferencia para llegar a un lado específico de la ruta cuando creas un punto de referencia para una parada. Puedes especificar la preferencia de dos maneras: preferir el mismo lado de la ruta o proporcionar un rumbo de llegada.
Prefiero el mismo lado de la ruta
Proporcionas las coordenadas geográficas del punto de referencia y, luego, estableces una marca (setPreferSameSideOfRoad
) que indica que prefieres llegar al mismo lado de la ruta que el punto de referencia, ajustado a la vereda más cercana.
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setPreferSameSideOfRoad(true)
.build()
Cómo establecer un rumbo de llegada
Proporcionas las coordenadas geográficas del punto de referencia y, luego, un rumbo de llegada (setPreferredHeading
) que coincida con la dirección del flujo de tráfico en el mismo lado de la ruta que el consumidor en espera.
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setPreferredHeading(preferredHeading)
.build()
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 el que se encuentra el punto de referencia.
Cómo establecer la preferencia de parada
En ciertos lugares, no es posible que los conductores se detengan de forma segura (por ejemplo, áreas elevadas, transbordadores, ubicaciones subterráneas y otras áreas de acceso limitado). La función Parada reubica el punto de referencia en un lugar cercano si su ubicación no es adecuada para que un vehículo haga una parada. Cuando configuras setVehicleStopover
como true
, el punto de referencia se reubica automáticamente cuando se calcula la ruta, si hay una ubicación alternativa disponible.
Cómo funciona
Estableces la preferencia para una parada cuando creas el punto de ruta para esa parada.
Para ello, especifica la preferencia setVehicleStopover
como se muestra en el siguiente ejemplo:
Waypoint waypoint =
Waypoint.builder()
.setLatLng(latitude, longitude)
.setTitle("Somewhere in Sydney")
.setVehicleStopover(true)
.build()