Cómo configurar una parada en una ruta

Desarrolladores del Espacio Económico Europeo (EEE)

Puedes establecer una parada en una ruta, por ejemplo, para recoger o dejar a alguien, de una de las siguientes dos maneras:

  • Agregar una parada intermedia: Esta es la opción predeterminada. Agrega un punto de ruta intermedio entre el origen y el destino en el array intermediates. El motor de enrutamiento ajusta el punto de referencia a la ruta navegable más cercana y divide la ruta en RouteLeg segmentos conectados por esa parada.
  • Especifica un vehicleStopover: Si deseas que el motor de enrutamiento realice un análisis adicional para evitar tramos de ruta no aptos para detenerse, como autopistas, túneles o pasos a desnivel, establece vehicleStopover: true en un punto de referencia.

Cómo agregar una parada intermedia

Para establecer una parada a lo largo de una ruta, agrega un punto de ruta intermedio al array intermediates en tu solicitud.

Agregar un punto de ruta intermedio tiene los siguientes efectos:

  • La ruta se divide en RouteLeg tramos: Cada tramo conecta una parada con la siguiente.
  • La coordenada se ajusta a una ruta: El motor de rutas ajusta tu coordenada de latitud y longitud, que puede estar en una azotea o en un patio, al tramo de ruta navegable más cercano.

En muchas calles, ajustar la ubicación a la ruta más cercana proporciona una ubicación de parada práctica. Sin embargo, el ajuste no determina si ese tramo de ruta es adecuado para detenerse, por ejemplo, cuando la ruta más cercana es una autopista o un túnel.

Ejemplo: Cómo agregar un punto de referencia intermedio

En el siguiente ejemplo, se muestra cómo establecer una parada a lo largo de una ruta agregando un punto de ruta intermedio en una solicitud computeRoutes POST:

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Para obtener más información sobre los puntos de referencia intermedios y los tramos de la ruta, consulta Cómo establecer puntos de referencia intermedios.

Especifica un objeto VehicleStopover para la idoneidad de la recogida y la entrega

Si bien un punto de referencia intermedio estándar se ajusta a la ruta más cercana, esta no siempre es adecuada para que se detenga un vehículo. Cuando quieras que el motor de enrutamiento realice un análisis adicional para evaluar la idoneidad de la ruta para la recogida o la entrega, establece vehicleStopover: true en el punto de ruta.

Cuando configuras vehicleStopover: true, el motor de enrutamiento evalúa los tramos de ruta candidatos y trata de evitar las rutas que no son adecuadas para detenerse, como autopistas, túneles y pasos a desnivel.

Por ejemplo, considera una ubicación en la que una ruta de superficie pasa directamente sobre una autopista dentro de un túnel: * Punto de referencia intermedio estándar: Se ajusta a la autopista o al túnel que se encuentra debajo si está geométricamente más cerca de tu coordenada. * Parada del vehículo: Realiza un análisis adicional para evitar la autopista y el túnel, y ajusta la parada a una ruta de superficie adecuada para detenerse.

Ejemplo: Especifica vehicleStopover en un punto de ruta

En el siguiente ejemplo, se muestra cómo establecer vehicleStopover: true en una parada intermedia en una solicitud POST completa:

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      },
      "vehicleStopover": true
    }
  ],
  "travelMode": "DRIVE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Para obtener más información sobre los tipos y las opciones de puntos de referencia, consulta Tipos y opciones de puntos de referencia.