Method: computeRoutes

Devuelve la ruta principal y las rutas alternativas opcionales, según un conjunto de puntos de referencia intermedios y terminales.

NOTA: Este método requiere que especifiques una máscara de campo de respuesta en la entrada. Puedes proporcionar la máscara de campo de respuesta con el parámetro de URL $fields o fields, o con un encabezado HTTP/gRPC X-Goog-FieldMask (consulta los encabezados y parámetros de URL disponibles). El valor es una lista de rutas de campo separadas por comas. Consulta la documentación detallada sobre cómo construir las rutas de los campos.

Por ejemplo, en este método:

  • Máscara de campo de todos los campos disponibles (para la inspección manual): X-Goog-FieldMask: *
  • Máscara de campo de la duración, la distancia y la polilínea a nivel de la ruta (un ejemplo de configuración de producción): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google desaconseja el uso de la máscara de campo de respuesta comodín (*) ni la especificación de la máscara de campo en el nivel superior (routes) por los siguientes motivos:

  • Seleccionar solo los campos que necesitas ayuda a nuestro servidor a ahorrar ciclos de procesamiento, lo que nos permite mostrarte el resultado con una latencia más baja.
  • Seleccionar solo los campos que necesitas para tu trabajo de producción garantiza un rendimiento de latencia estable. Es posible que agreguemos más campos de respuesta en el futuro, y es posible que esos campos nuevos requieran tiempo de procesamiento adicional. Si seleccionas todos los campos o si lo haces en el nivel superior, es posible que experimentes una degradación del rendimiento, ya que los campos nuevos que agregues se incluirán automáticamente en la respuesta.
  • Seleccionar solo los campos que necesitas da como resultado un tamaño de respuesta más pequeño y, por lo tanto, una capacidad de procesamiento de red mayor.

Solicitud HTTP

POST https://routespreferred.googleapis.com/v1:computeRoutes

La URL usa la sintaxis de la transcodificación gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean
}
Campos
origin

object (Waypoint)

Obligatorio. Punto de referencia de origen.

destination

object (Waypoint)

Obligatorio. Punto de referencia de destino.

intermediates[]

object (Waypoint)

Opcional. Un conjunto de puntos de referencia a lo largo de la ruta (excluidos los puntos de terminal), para parar en o pasar. Se admiten hasta 25 puntos de referencia intermedios.

travelMode

enum (RouteTravelMode)

Opcional. Especifica el medio de transporte.

routingPreference

enum (RoutingPreference)

Opcional. Especifica cómo calcular la ruta. El servidor intenta usar la preferencia de enrutamiento seleccionada para calcular la ruta. Si la preferencia de enrutamiento genera un error o una latencia extralarga, se muestra un error. Puedes especificar esta opción solo cuando travelMode sea DRIVE o TWO_WHEELER; de lo contrario, la solicitud fallará.

polylineQuality

enum (PolylineQuality)

Opcional. Especifica tu preferencia para la calidad de la polilínea.

polylineEncoding

enum (PolylineEncoding)

Opcional. Especifica la codificación preferida para la polilínea.

departureTime

string (Timestamp format)

Opcional. Hora de salida. Si no estableces este valor, el valor predeterminado será la hora en que realizaste la solicitud. Si estableces este valor en un momento que ya ocurrió, la solicitud fallará.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

computeAlternativeRoutes

boolean

Opcional. Especifica si se deben calcular rutas alternativas además de la ruta. No se muestran rutas alternativas para las solicitudes que tienen puntos de referencia intermedios.

routeModifiers

object (RouteModifiers)

Opcional. Un conjunto de condiciones que se deben cumplir y que afectan la forma en que se calculan las rutas.

languageCode

string

Opcional. El código de idioma BCP-47, como "en-US" o "sr-Latn". Para obtener más información, consulta Identificador de configuración regional Unicode. Consulta Idiomas admitidos para obtener la lista de idiomas admitidos. Si no proporcionas este valor, el idioma de visualización se infiere de la ubicación de la solicitud de ruta.

units

enum (Units)

Opcional. Especifica las unidades de medida para los campos de visualización. Esto incluye el campo instruction en NavigationInstruction. Este valor no afecta las unidades de medida que se usan para la ruta, el tramo, la distancia del paso y la duración. Si no proporcionas este valor, las unidades de visualización se infieren a partir de la ubicación de la solicitud.

optimizeWaypointOrder

boolean

Si optimizeWaypointOrder se establece como verdadero, se intentará reordenar los puntos intermedios especificados para minimizar el costo general de la ruta. Si alguno de los puntos de referencia intermedios es a través de un punto de referencia, la solicitud fallará. Usa ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index para encontrar el nuevo orden. Si no se solicita routes.optimized_intermediate_waypoint_index en el encabezado X-Goog-FieldMask, la solicitud falla. Si optimizeWaypointOrder se configura como falso, ComputeRoutesResponse.optimized_intermediate_waypoint_index estará vacío.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de ComputeRoutesResponse.

Permisos de autorización

Requiere el siguiente alcance de OAuth:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Para obtener más información, consulta la descripción general de OAuth 2.0.