Administrar waypoints

De forma predeterminada, el SDK de Navigation para Android encuentra la ruta más rápida a un punto de referencia. Sin embargo, esto no garantiza que el vehículo llegue al lado de la ruta en el que el consumidor está esperando o que el lugar de destino sea seguro para que el conductor se detenga. En esta guía, se describen dos funciones que puedes usar para estas situaciones:

  • Preferencia de enrutamiento por lado de la ruta
  • Función de parada

Lado de la preferencia de enrutamiento de ruta

Esta función te permite asegurarte de que el vehículo llegue al lado correcto de la ruta. Debes establecer la preferencia para llegar a un lado en particular de la ruta cuando creas el punto de referencia para esa parada. Puedes especificar la preferencia de una de las siguientes dos maneras: prefiere el mismo lado de la ruta o proporciona un encabezado de llegada.

Prefiero el mismo lado de la ruta

Debes proporcionar las coordenadas geográficas del punto de referencia y, luego, establecer una marca (setPreferSameSideOfRoad) que indique que prefieres llegar al mismo lado de la ruta que el punto de referencia, ajustado a la acera más cercana.

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferSameSideOfRoad(true)
           .build()

Define una orientación para llegar

Proporcionas las coordenadas geográficas del punto de referencia y, luego, un heading de llegada (setPreferredHeading) que coincida con la dirección del flujo de tráfico en el mismo lado de la ruta que el consumidor que 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 escalas

En ciertos lugares, no es posible que los conductores se detengan de forma segura (por ejemplo, en áreas elevadas, transbordadores, ubicaciones subterráneas y otras áreas de acceso limitado). La función Parada traslada 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 setVehicleStopover como true, el punto de referencia se vuelve a ubicar automáticamente cuando se calcula la ruta, si hay una ubicación alternativa disponible.

Cómo funciona

Cuando creas el punto de referencia de esa parada, estableces la preferencia de una 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()