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 llegará al lado de la ruta en la que está esperando el consumidor 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 ruta lateral de la ruta
  • Función Parada

Lado de la preferencia de enrutamiento de la ruta

Esta función te permite asegurarte de que el vehículo llegue al lado correcto de la ruta. Establece la preferencia para llegar a un lado particular de la ruta cuando crees el punto de referencia para esa parada. Puedes especificar la preferencia de dos maneras: dar prioridad al mismo lado de la ruta o proporcionar una orientación de llegada.

Prefiero el mismo lado de la ruta

Proporciona las coordenadas geográficas del punto de referencia y, luego, estableces 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()

Establece un encabezado de llegada

Proporciona las coordenadas geográficas del punto de referencia y, luego, la orientación de llegada (setPreferredHeading) que coincide con la dirección del flujo del tráfico en el mismo lado de la ruta que el consumidor que está esperando.

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 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 setVehicleStopover en true, 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, 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()