Method: computeRoutes

Devuelve la ruta principal junto con rutas alternativas opcionales, dado un conjunto de puntos de referencia terminales e intermedios.

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 los parámetros de URL $fields o fields, o bien con un encabezado HTTP/gRPC X-Goog-FieldMask (consulta los parámetros de URL y encabezados disponibles). El valor es una lista separada por comas de rutas de campos. Consulta la documentación detallada sobre cómo construir las rutas de 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 con comodín (*) o 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 devolverte el resultado con una latencia más baja.
  • Si seleccionas solo los campos que necesitas en tu trabajo de producción, se garantiza un rendimiento de latencia estable. Es posible que agreguemos más campos de respuesta en el futuro, y esos campos nuevos podrían requerir tiempo de procesamiento adicional. Si seleccionas todos los campos o todos los campos en el nivel superior, es posible que experimentes una degradación del rendimiento, ya que cualquier campo nuevo que agreguemos se incluirá automáticamente en la respuesta.
  • Si seleccionas solo los campos que necesitas, el tamaño de la respuesta será menor y, por lo tanto, el rendimiento de la red será mayor.

Solicitud HTTP

POST https://routes.googleapis.com/directions/v2: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,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Campos
origin

object (Waypoint)

Obligatorio. Es el punto de referencia de origen.

destination

object (Waypoint)

Obligatorio. Es el punto de ruta de destino.

intermediates[]

object (Waypoint)

Opcional. Es un conjunto de puntos de referencia a lo largo de la ruta (sin incluir los puntos terminales) en los que se puede detener 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 demasiado larga, se muestra un error. Solo puedes especificar esta opción cuando travelMode es DRIVE o TWO_WHEELER. De lo contrario, la solicitud fallará.

polylineQuality

enum (PolylineQuality)

Opcional. Especifica tu preferencia por 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, se usará de forma predeterminada la hora en la que realizaste la solicitud. NOTA: Solo puedes especificar un departureTime anterior cuando RouteTravelMode se establece en TRANSIT. Los viajes en transporte público están disponibles hasta 7 días en el pasado o 100 días en el futuro.

Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

arrivalTime

string (Timestamp format)

Opcional. Es la hora de llegada. NOTA: Este campo se ignora cuando las solicitudes especifican un RouteTravelMode que no sea TRANSIT. Puedes especificar departureTime o arrivalTime, pero no ambos. Los viajes en transporte público están disponibles hasta 7 días en el pasado o 100 días en el futuro.

Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

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. Es 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 Unicode Locale Identifier. Consulta Idiomas admitidos para obtener la lista de idiomas admitidos. Si no proporcionas este valor, el idioma de visualización se inferirá a partir de la ubicación de la solicitud de ruta.

regionCode

string

Opcional. Es el código de región, especificado como un valor de dos caracteres del ccTLD ("dominio de nivel superior"). Para obtener más información, consulta Dominios de nivel superior con código de país.

units

enum (Units)

Opcional. Especifica las unidades de medida para los campos de visualización. Estos campos incluyen 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 inferirán a partir de la ubicación del primer origen.

optimizeWaypointOrder

boolean

Opcional. Si se establece como verdadero, el servicio intenta minimizar el costo general de la ruta reordenando los puntos de ruta intermedios especificados. La solicitud falla si alguno de los puntos de referencia intermedios es un punto de referencia via. Usa ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index para encontrar el nuevo orden. Si no se solicita ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index en el encabezado X-Goog-FieldMask, la solicitud falla. Si optimizeWaypointOrder se establece como falso, ComputeRoutesResponse.optimized_intermediate_waypoint_index estará vacío.

requestedReferenceRoutes[]

enum (ReferenceRoute)

Opcional. Especifica qué rutas de referencia se deben calcular como parte de la solicitud, además de la ruta predeterminada. Una ruta de referencia es una ruta con un objetivo de cálculo diferente al de la ruta predeterminada. Por ejemplo, el cálculo de una ruta de referencia FUEL_EFFICIENT tiene en cuenta varios parámetros que generarían una ruta óptima y eficiente en el consumo de combustible. Cuando uses esta función, busca routeLabels en las rutas resultantes.

extraComputations[]

enum (ExtraComputation)

Opcional. Es una lista de cálculos adicionales que se pueden usar para completar la solicitud. Nota: Estos cálculos adicionales pueden devolver campos adicionales en la respuesta. Estos campos adicionales también se deben especificar en la máscara de campo para que se muestren en la respuesta.

trafficModel

enum (TrafficModel)

Opcional. Especifica las suposiciones que se usarán cuando se calcule el tiempo en el tráfico. Este parámetro de configuración afecta el valor que se muestra en el campo de duración de Route y RouteLeg, que contiene el tiempo previsto en el tráfico según los promedios históricos. TrafficModel solo está disponible para las solicitudes que establecieron RoutingPreference en TRAFFIC_AWARE_OPTIMAL y RouteTravelMode en DRIVE. El valor predeterminado es BEST_GUESS si se solicita tráfico y no se especifica TrafficModel.

transitPreferences

object (TransitPreferences)

Opcional. Especifica las preferencias que influyen en la ruta que se muestra para las rutas de TRANSIT. NOTA: Solo puedes especificar un transitPreferences cuando RouteTravelMode se establece en TRANSIT.

Cuerpo de la respuesta

v2.computeRoutes el mensaje de respuesta.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
Campos
routes[]

object (Route)

Contiene un array de rutas calculadas (hasta tres) cuando especificas compute_alternatives_routes y solo una ruta cuando no lo haces. Cuando este array contiene varias entradas, la primera es la ruta más recomendada. Si el array está vacío, significa que no se pudo encontrar ninguna ruta.

fallbackInfo

object (FallbackInfo)

En algunos casos, cuando el servidor no puede calcular los resultados de la ruta con todas las preferencias de entrada, es posible que recurra a otra forma de cálculo. Cuando se usa el modo de respaldo, este campo contiene información detallada sobre la respuesta de respaldo. De lo contrario, este campo no se establece.

geocodingResults

object (GeocodingResults)

Contiene información de la respuesta de geocodificación para los puntos de referencia especificados como direcciones.

PolylineQuality

Es un conjunto de valores que especifican la calidad de la polilínea.

Enumeraciones
POLYLINE_QUALITY_UNSPECIFIED No se especificó ninguna preferencia de calidad de polilínea. La configuración predeterminada es OVERVIEW.
HIGH_QUALITY Especifica una polilínea de alta calidad, que se compone con más puntos que OVERVIEW, a costa de un mayor tamaño de respuesta. Usa este valor cuando necesites más precisión.
OVERVIEW Especifica una polilínea de vista general, que se compone con una pequeña cantidad de puntos. Usa este valor cuando muestres un resumen de la ruta. Usar esta opción tiene una latencia de solicitud más baja en comparación con la opción HIGH_QUALITY.

PolylineEncoding

Especifica el tipo de polilínea preferido que se debe devolver.

Enumeraciones
POLYLINE_ENCODING_UNSPECIFIED No se especificó ninguna preferencia de tipo de polilínea. La configuración predeterminada es ENCODED_POLYLINE.
ENCODED_POLYLINE Especifica una polilínea codificada con el algoritmo de codificación de polilíneas.
GEO_JSON_LINESTRING Especifica una polilínea con el formato LineString de GeoJSON

ReferenceRoute

Es una ruta de referencia admitida en ComputeRoutesRequest.

Enumeraciones
REFERENCE_ROUTE_UNSPECIFIED No se usa. Las solicitudes que contienen este valor fallan.
FUEL_EFFICIENT Ruta con mayor ahorro de combustible.
SHORTER_DISTANCE

Ruta con una distancia de viaje más corta. Esta función se encuentra en fase experimental.

En el caso de las solicitudes de DRIVE, esta función prioriza la distancia más corta por sobre la comodidad de la conducción. Por ejemplo, puede preferir las rutas locales en lugar de las autopistas, tomar caminos de tierra, atravesar estacionamientos, etcétera. Esta función no devuelve ninguna maniobra que Google Maps sepa que es ilegal.

Para las solicitudes de BICYCLE y TWO_WHEELER, esta función devuelve rutas similares a las que se muestran cuando no se especifica requestedReferenceRoutes.

Esta función no es compatible con ningún otro modo de viaje, a través de puntos de referencia intermedios ni con optimizeWaypointOrder. Las solicitudes de este tipo fallarán. Sin embargo, puedes usarlo con cualquier routingPreference.

ExtraComputation

Son cálculos adicionales que se deben realizar mientras se completa la solicitud.

Enumeraciones
EXTRA_COMPUTATION_UNSPECIFIED No se usa. Las solicitudes que contengan este valor fallarán.
TOLLS Es la información de peajes para las rutas.
FUEL_CONSUMPTION Consumo de combustible estimado para la ruta o las rutas.
TRAFFIC_ON_POLYLINE Son las polilíneas que tienen en cuenta el tráfico para las rutas.
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions presentado como una cadena de texto HTML con formato. Este contenido se debe leer tal como está y es solo para fines de visualización. No lo analices de forma programática.
FLYOVER_INFO_ON_POLYLINE Es la información de sobrevuelo para las rutas. Se debe especificar el campo routes.polyline_details.flyover_info fieldmask para devolver esta información. Actualmente, estos datos solo se completarán para ciertas áreas metropolitanas de la India. Esta función es experimental y el SKU o el cargo están sujetos a cambios.
NARROW_ROAD_INFO_ON_POLYLINE Es la información de las rutas con caminos angostos. Se debe especificar el campo routes.polyline_details.narrow_road_info fieldmask para devolver esta información. Actualmente, estos datos solo se completarán para ciertas áreas metropolitanas de la India. Esta función es experimental y el SKU o el cargo están sujetos a cambios.

Ruta

Contiene una ruta, que consta de una serie de tramos de ruta conectados que unen puntos de referencia iniciales, finales e intermedios.

Representación JSON
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string,
  "polylineDetails": {
    object (PolylineDetails)
  }
}
Campos
routeLabels[]

enum (RouteLabel)

Son etiquetas para el Route que resultan útiles para identificar propiedades específicas de la ruta y compararlas con otras.

legs[]

object (RouteLeg)

Es una colección de tramos (segmentos de ruta entre puntos de referencia) que componen la ruta. Cada tramo corresponde al viaje entre dos via Waypoints. Por ejemplo, una ruta sin puntos de referencia intermedios tiene solo un tramo. Una ruta que incluye un punto de referencia intermedio que no es via tiene dos tramos. Una ruta que incluye un punto de referencia intermedio via tiene un tramo. El orden de los tramos coincide con el orden de los puntos de referencia de origin a intermediates y a destination.

distanceMeters

integer

Es la distancia de viaje de la ruta, en metros.

duration

string (Duration format)

Es el tiempo necesario para recorrer la ruta. Si estableces routingPreference en TRAFFIC_UNAWARE, este valor será el mismo que staticDuration. Si configuras routingPreference como TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL, este valor se calcula teniendo en cuenta las condiciones del tráfico.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

staticDuration

string (Duration format)

Es la duración del viaje a través de la ruta sin tener en cuenta las condiciones de tráfico.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

polyline

object (Polyline)

Es la polilínea general de la ruta. Esta polilínea es la combinación de todas las polilíneas de legs.

description

string

Es una descripción de la ruta.

warnings[]

string

Es un array de advertencias que se muestran cuando se visualiza la ruta.

viewport

object (Viewport)

Es el cuadro de límite del viewport de la polilínea.

travelAdvisory

object (RouteTravelAdvisory)

Es información adicional sobre la ruta.

optimizedIntermediateWaypointIndex[]

integer

Si estableces optimizeWaypointOrder como verdadero, este campo contendrá el orden optimizado de los puntos de referencia intermedios. De lo contrario, este campo está vacío. Por ejemplo, si ingresas Origen: LA; puntos intermedios: Dallas, Bangor, Phoenix; Destino: Nueva York; y el orden optimizado de los puntos intermedios es Phoenix, Dallas, Bangor, este campo contiene los valores [2, 0, 1]. El índice comienza con 0 para el primer punto de ruta intermedio proporcionado en la entrada.

localizedValues

object (RouteLocalizedValues)

Son representaciones de texto de las propiedades de Route.

routeToken

string

Es un token opaco que se puede pasar al SDK de Navigation para reconstruir la ruta durante la navegación y, en caso de cambio de ruta, respetar la intención original cuando se creó la ruta. Trata este token como un BLOB opaco. No compares su valor entre solicitudes, ya que puede cambiar incluso si el servicio devuelve la misma ruta.

NOTA: Route.route_token solo está disponible para las solicitudes que establecieron ComputeRoutesRequest.routing_preference en TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL. Route.route_token no se admite para las solicitudes que tienen puntos de referencia de ruta.

polylineDetails

object (PolylineDetails)

Contiene información sobre los detalles a lo largo de la polilínea.

RouteLabel

Son etiquetas para el Route que resultan útiles para identificar propiedades específicas de la ruta y compararlas con otras.

Enumeraciones
ROUTE_LABEL_UNSPECIFIED Predeterminado: No se usa.
DEFAULT_ROUTE Es la ruta "óptima" predeterminada que se muestra para el cálculo de la ruta.
DEFAULT_ROUTE_ALTERNATE Es una alternativa a la ruta "óptima" predeterminada. Las rutas como esta se mostrarán cuando se especifique computeAlternativeRoutes.
FUEL_EFFICIENT Ruta con mayor ahorro de combustible. Se determina que las rutas etiquetadas con este valor están optimizadas para parámetros ecológicos, como el consumo de combustible.
SHORTER_DISTANCE Es la ruta con la distancia de viaje más corta. Esta función se encuentra en fase experimental.

RouteLeg

Contiene un tramo entre puntos de referencia que no son de via.

Representación JSON
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
Campos
distanceMeters

integer

Es la distancia de viaje del tramo de la ruta, en metros.

duration

string (Duration format)

Es el tiempo necesario para recorrer el tramo. Si route_preference se establece en TRAFFIC_UNAWARE, este valor es el mismo que staticDuration. Si route_preference es TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL, este valor se calcula teniendo en cuenta las condiciones del tráfico.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

staticDuration

string (Duration format)

Es la duración del viaje a través del tramo, calculada sin tener en cuenta las condiciones del tráfico.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

polyline

object (Polyline)

Es la polilínea general de este tramo que incluye la polilínea de cada step.

startLocation

object (Location)

Es la ubicación de inicio de este tramo. Esta ubicación puede ser diferente de la origin proporcionada. Por ejemplo, cuando el origin proporcionado no está cerca de una ruta, este es un punto en la ruta.

endLocation

object (Location)

Es la ubicación final de este tramo. Esta ubicación puede ser diferente de la destination proporcionada. Por ejemplo, cuando el destination proporcionado no está cerca de una ruta, este es un punto en la ruta.

steps[]

object (RouteLegStep)

Es un array de pasos que denotan segmentos dentro de esta etapa. Cada paso representa una instrucción de navegación.

travelAdvisory

object (RouteLegTravelAdvisory)

Contiene la información adicional sobre la que se debe informar al usuario, como las posibles restricciones de zona de tráfico, en un tramo de la ruta.

localizedValues

object (RouteLegLocalizedValues)

Son representaciones de texto de las propiedades de RouteLeg.

stepsOverview

object (StepsOverview)

Es información general sobre los pasos en este RouteLeg. Este campo solo se completa para las rutas de TRANSPORTE PÚBLICO.

Polilínea

Encapsula una polilínea codificada.

Representación JSON
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
Campos
Campo de unión polyline_type. Encapsula el tipo de polilínea. El valor predeterminado es encoded_polyline. Las direcciones (polyline_type) solo pueden ser una de las siguientes opciones:
encodedPolyline

string

Es la codificación de cadena de la polilínea con el algoritmo de codificación de polilíneas.

geoJsonLinestring

object (Struct format)

Especifica una polilínea con el formato LineString de GeoJSON.

RouteLegStep

Contiene un segmento de un RouteLeg. Un paso corresponde a una sola instrucción de navegación. Los tramos de la ruta se componen de pasos.

Representación JSON
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
Campos
distanceMeters

integer

Es la distancia de viaje de este paso, en metros. En algunas circunstancias, es posible que este campo no tenga un valor.

staticDuration

string (Duration format)

Es la duración del viaje a través de este paso sin tener en cuenta las condiciones del tráfico. En algunas circunstancias, es posible que este campo no tenga un valor.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

polyline

object (Polyline)

Es la polilínea asociada a este paso.

startLocation

object (Location)

Es la ubicación de inicio de este paso.

endLocation

object (Location)

Es la ubicación final de este paso.

navigationInstruction

object (NavigationInstruction)

Instrucciones de navegación

travelAdvisory

object (RouteLegStepTravelAdvisory)

Contiene la información adicional sobre la que se debe informar al usuario, como las posibles restricciones de zona de tráfico, en un paso de tramo.

localizedValues

object (RouteLegStepLocalizedValues)

Son representaciones de texto de las propiedades de RouteLegStep.

transitDetails

object (RouteLegStepTransitDetails)

Son los detalles relacionados con este paso si el modo de viaje es TRANSIT.

travelMode

enum (RouteTravelMode)

Es el modo de viaje que se usa para este paso.

Maneuver

Es un conjunto de valores que especifican la acción de navegación que se debe realizar en el paso actual (por ejemplo, girar a la izquierda, incorporarse o seguir recto).

Enumeraciones
MANEUVER_UNSPECIFIED No se usa.
TURN_SLIGHT_LEFT Gira un poco hacia la izquierda.
TURN_SHARP_LEFT Gira bruscamente a la izquierda.
UTURN_LEFT Gira en U a la izquierda.
TURN_LEFT Gira a la izquierda.
TURN_SLIGHT_RIGHT Gira un poco hacia la derecha.
TURN_SHARP_RIGHT Gira bruscamente a la derecha.
UTURN_RIGHT Da la vuelta en U hacia la derecha.
TURN_RIGHT Gira a la derecha.
STRAIGHT Sigue derecho.
RAMP_LEFT Toma la rampa de la izquierda.
RAMP_RIGHT Toma la rampa de la derecha.
MERGE Incorporarse al tráfico
FORK_LEFT Toma el camino de la izquierda.
FORK_RIGHT Toma el camino de la derecha.
FERRY Toma el ferry.
FERRY_TRAIN Toma el tren que te lleva al ferry.
ROUNDABOUT_LEFT Gira a la izquierda en la rotonda.
ROUNDABOUT_RIGHT Gira a la derecha en la rotonda.
DEPART Maniobra inicial.
NAME_CHANGE Se usa para indicar un cambio de nombre de la calle.

RouteLegStepTravelAdvisory

Contiene la información adicional sobre la que se debe informar al usuario, como las posibles restricciones de zona de tráfico en un paso de la ruta.

Representación JSON
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Campos
speedReadingIntervals[]

object (SpeedReadingInterval)

NOTA: Este campo no se completa actualmente.

RouteLegStepLocalizedValues

Son representaciones de texto de ciertas propiedades.

Representación JSON
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Campos
distance

object (LocalizedText)

Distancia de viaje representada en formato de texto.

staticDuration

object (LocalizedText)

Es la duración sin tener en cuenta las condiciones del tráfico, representada en formato de texto.

RouteLegStepTransitDetails

Es información adicional para el RouteLegStep relacionada con las rutas de TRANSIT.

Representación JSON
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
Campos
stopDetails

object (TransitStopDetails)

Es información sobre las paradas de llegada y salida del paso.

localizedValues

object (TransitDetailsLocalizedValues)

Son representaciones de texto de las propiedades de RouteLegStepTransitDetails.

headsign

string

Especifica la dirección en la que se debe viajar en esta línea, como se marca en el vehículo o la parada de salida. La dirección suele ser la estación terminal.

headway

string (Duration format)

Especifica el tiempo previsto como una duración entre las salidas desde la misma parada a esta hora. Por ejemplo, con un valor de segundos de intervalo de 600, se debe prever una espera de diez minutos en caso de perder un autobús.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

transitLine

object (TransitLine)

Es información sobre la línea de transporte público que se usa en este paso.

stopCount

integer

Es la cantidad de paradas desde la de salida hasta la de llegada. Este recuento incluye la parada de llegada, pero no la de salida. Por ejemplo, si tu ruta sale de la parada A, pasa por las paradas B y C, y llega a la parada D,

stopCount

devuelve 3.

tripShortText

string

Es el texto que aparece en los horarios y carteles para identificar un viaje en transporte público a los pasajeros. El texto debe identificar de forma única un viaje dentro de un día de servicio. Por ejemplo, "538" es el tripShortText del tren de Amtrak que sale de San José, California, a las 15:10 los días laborables con destino a Sacramento, California.

TransitStopDetails

Son los detalles sobre las paradas de transporte público de RouteLegStep.

Representación JSON
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
Campos
arrivalStop

object (TransitStop)

Es información sobre la parada de llegada del paso.

arrivalTime

string (Timestamp format)

Es la hora estimada de llegada del paso.

Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

departureStop

object (TransitStop)

Es información sobre la parada de partida del paso.

departureTime

string (Timestamp format)

Es la hora de salida estimada del paso.

Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

TransitStop

Es información sobre una parada de transporte público.

Representación JSON
{
  "name": string,
  "location": {
    object (Location)
  }
}
Campos
name

string

Es el nombre de la parada de transporte público.

location

object (Location)

Ubicación de la parada expresada en coordenadas de latitud y longitud.

TransitDetailsLocalizedValues

Son las descripciones localizadas de los valores de RouteTransitDetails.

Representación JSON
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
Campos
arrivalTime

object (LocalizedTime)

Hora en su representación de texto con formato y una zona horaria correspondiente.

departureTime

object (LocalizedTime)

Hora en su representación de texto con formato y una zona horaria correspondiente.

LocalizedTime

Es la descripción localizada del tiempo.

Representación JSON
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
Campos
time

object (LocalizedText)

Es la hora especificada como una cadena en una zona horaria determinada.

timeZone

string

Contiene la zona horaria. El valor es el nombre de la zona horaria tal como se define en la base de datos de zonas horarias de IANA, p.ej., "America/New_York".

TransitLine

Contiene información sobre la línea de transporte público que se usa en este paso.

Representación JSON
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
Campos
agencies[]

object (TransitAgency)

Es la empresa o las empresas de transporte público que operan esta línea.

name

string

Nombre completo de esta línea de transporte público, por ejemplo, "8 Avenue Local".

uri

string

Es el URI de esta línea de transporte público tal como lo proporciona la empresa de transporte público.

color

string

Color que se suele usar en la señalización de esta línea. Se representa en hexadecimal.

iconUri

string

Es el URI del ícono asociado a esta línea.

nameShort

string

Es el nombre corto de esta línea de transporte público. Por lo general, este nombre será un número de línea, como "M7" o "355".

textColor

string

Es el color que se suele usar en el texto de la señalización de esta línea. Se representa en hexadecimal.

vehicle

object (TransitVehicle)

Es el tipo de vehículo que opera en esta línea de transporte público.

TransitAgency

Es una empresa de transporte público que opera una línea de transporte público.

Representación JSON
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
Campos
name

string

Es el nombre de esta empresa de transporte público.

phoneNumber

string

Es el número de teléfono de la empresa de transporte público con formato específico para la configuración regional.

uri

string

Es el URI de la empresa de transporte público.

TransitVehicle

Es información sobre un vehículo que se usa en rutas de transporte público.

Representación JSON
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
Campos
name

object (LocalizedText)

Nombre de este vehículo, con la primera letra en mayúscula.

type

enum (TransitVehicleType)

Es el tipo de vehículo que se usa.

iconUri

string

Es el URI de un ícono asociado con este tipo de vehículo.

localIconUri

string

Es el URI del ícono asociado con este tipo de vehículo, según la señalización del transporte local.

TransitVehicleType

Es el tipo de vehículos para las rutas de transporte público.

Enumeraciones
TRANSIT_VEHICLE_TYPE_UNSPECIFIED No se utiliza.
BUS Autobús
CABLE_CAR Un vehículo que funciona con un cable y generalmente sobre el suelo. Los teleféricos pueden ser del tipo GONDOLA_LIFT.
COMMUTER_TRAIN Ferrocarril suburbano.
FERRY Ferry.
FUNICULAR Un vehículo que sube por una pendiente pronunciada a través de un cable. Un funicular normalmente consta de dos coches; cada uno actúa como contrapeso del otro.
GONDOLA_LIFT Un funicular aéreo.
HEAVY_RAIL Ferrocarril metropolitano.
HIGH_SPEED_TRAIN Tren de alta velocidad.
INTERCITY_BUS Autobús interurbano.
LONG_DISTANCE_TRAIN Tren de larga distancia.
METRO_RAIL Transporte en tren ligero.
MONORAIL Monorriel.
OTHER Todos los demás vehículos
RAIL Ferrocarril
SHARE_TAXI El transporte “share taxi” es una clase de autobús que puede dejar y recoger pasajeros en cualquier punto de su recorrido.
SUBWAY Tren ligero subterráneo.
TRAM Tranvía sobre el suelo.
TROLLEYBUS Trolebús.

RouteLegTravelAdvisory

Contiene la información adicional sobre la que se debe informar al usuario en un paso de tramo, como las posibles restricciones de zona de tráfico.

Representación JSON
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Campos
tollInfo

object (TollInfo)

Contiene información sobre los peajes en el RouteLeg específico. Este campo solo se completa si esperamos que haya peajes en la RouteLeg. Si este campo está configurado, pero el subcampo estimatedPrice no está completado, esperamos que la ruta contenga peajes, pero no conocemos un precio estimado. Si este campo no existe, no hay peaje en RouteLeg.

speedReadingIntervals[]

object (SpeedReadingInterval)

Intervalos de lectura rápida que detallan la densidad del tráfico. Se aplica en el caso de las preferencias de rutas TRAFFIC_AWARE y TRAFFIC_AWARE_OPTIMAL. Los intervalos cubren toda la polilínea del RouteLeg sin superponerse. El punto de inicio de un intervalo especificado es el mismo que el punto final del intervalo anterior.

Ejemplo:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).

RouteLegLocalizedValues

Son representaciones de texto de ciertas propiedades.

Representación JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Campos
distance

object (LocalizedText)

Distancia de viaje representada en formato de texto.

duration

object (LocalizedText)

Duración, representada en formato de texto y localizada para la región de la búsqueda. Tiene en cuenta las condiciones de tráfico. Nota: Si no solicitaste información sobre el tráfico, este valor es el mismo que staticDuration.

staticDuration

object (LocalizedText)

Es la duración sin tener en cuenta las condiciones del tráfico, representada en formato de texto.

StepsOverview

Proporciona información general sobre una lista de RouteLegSteps.

Representación JSON
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
Campos
multiModalSegments[]

object (MultiModalSegment)

Es información resumida sobre los diferentes segmentos multimodales de RouteLeg.steps. Este campo no se completa si RouteLeg no contiene ningún tramo multimodal en los pasos.

MultiModalSegment

Proporciona información resumida sobre los diferentes segmentos multimodales de RouteLeg.steps. Un segmento multimodal se define como uno o más RouteLegStep contiguos que tienen el mismo RouteTravelMode. Este campo no se completa si RouteLeg no contiene ningún tramo multimodal en los pasos.

Representación JSON
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
Campos
navigationInstruction

object (NavigationInstruction)

Es un NavigationInstruction para el tramo multimodal.

travelMode

enum (RouteTravelMode)

Es el modo de viaje del tramo multimodal.

stepStartIndex

integer

Es el índice RouteLegStep correspondiente que es el inicio de un segmento multimodal.

stepEndIndex

integer

Es el índice RouteLegStep correspondiente que es el final de un segmento multimodal.

Viewport

Es un viewport de latitud y longitud, representado como dos puntos low y high opuestos diagonalmente. Un viewport se considera una región cerrada, es decir, incluye su límite. Los límites de latitud deben estar entre -90 y 90 grados inclusive, y los límites de longitud deben estar entre -180 y 180 grados inclusive. Entre los diversos casos, se incluyen los siguientes:

  • Si low = high, el viewport consta de ese único punto.

  • Si low.longitude > high.longitude, el rango de longitud se invierte (el viewport cruza la línea de longitud de 180 grados).

  • Si low.longitude = -180 grados y high.longitude = 180 grados, la ventana gráfica incluye todas las longitudes.

  • Si low.longitude = 180 grados y high.longitude = -180 grados, el rango de longitud está vacío.

  • Si low.latitude > high.latitude, el rango de latitud está vacío.

Se deben completar low y high, y el cuadro representado no puede estar vacío (como se especifica en las definiciones anteriores). Un viewport vacío generará un error.

Por ejemplo, este viewport encierra completamente la ciudad de Nueva York:

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

Representación JSON
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
Campos
low

object (LatLng)

Obligatorio. Es el punto más bajo de la ventana gráfica.

high

object (LatLng)

Obligatorio. Es el punto más alto de la ventana gráfica.

RouteLocalizedValues

Son representaciones de texto de ciertas propiedades.

Representación JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Campos
distance

object (LocalizedText)

Distancia de viaje representada en formato de texto.

duration

object (LocalizedText)

Duración, representada en formato de texto y localizada para la región de la búsqueda. Tiene en cuenta las condiciones de tráfico. Nota: Si no solicitaste información del tráfico, este valor es el mismo que staticDuration.

staticDuration

object (LocalizedText)

Es la duración sin tener en cuenta las condiciones del tráfico, representada en formato de texto.

transitFare

object (LocalizedText)

Tarifa de transporte público representada en formato de texto.

PolylineDetails

Son los detalles correspondientes a un índice determinado o a un segmento contiguo de una polilínea. Dada una polilínea con puntos P_0, P_1, …, P_N (índice basado en cero), el PolylineDetails define un intervalo y los metadatos asociados.

Representación JSON
{
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
Campos
flyoverInfo[]

object (FlyoverInfo)

Detalles del sobrevuelo a lo largo de la polilínea.

narrowRoadInfo[]

object (NarrowRoadInfo)

Detalles de la ruta estrecha a lo largo de la polilínea.

FlyoverInfo

Encapsula información sobre los sobrevuelos a lo largo de la polilínea.

Representación JSON
{
  "flyoverPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Campos
flyoverPresence

enum (RoadFeatureState)

Solo salida. Indica si existe un sobrevuelo para un tramo determinado de la polilínea.

polylinePointIndex

object (PolylinePointIndex)

Es la ubicación de la información relacionada con el sobrevuelo a lo largo de la polilínea.

RoadFeatureState

Encapsula los estados de las características viales a lo largo de un tramo de polilínea.

Enumeraciones
ROAD_FEATURE_STATE_UNSPECIFIED No se calculó el estado de la función de ruta (valor predeterminado).
EXISTS La función de ruta existe.
DOES_NOT_EXIST El tramo de ruta no existe.

PolylinePointIndex

Encapsula los índices de inicio y fin de un detalle de polilínea. En los casos en que los datos correspondan a un solo punto, startIndex y endIndex serán iguales.

Representación JSON
{
  "startIndex": integer,
  "endIndex": integer
}
Campos
startIndex

integer

Índice de inicio de este detalle en la polilínea.

endIndex

integer

Índice final de este detalle en la polilínea.

NarrowRoadInfo

Encapsula información sobre las rutas angostas a lo largo de la polilínea.

Representación JSON
{
  "narrowRoadPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Campos
narrowRoadPresence

enum (RoadFeatureState)

Solo salida. Indica si existe una ruta estrecha para un tramo determinado de la polilínea.

polylinePointIndex

object (PolylinePointIndex)

Ubicación de la información relacionada con la ruta angosta a lo largo de la polilínea.

GeocodingResults

Contiene GeocodedWaypoints para el origen, el destino y los puntos de referencia intermedios. Solo se completa para las paradas de direcciones.

Representación JSON
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
Campos
origin

object (GeocodedWaypoint)

Es el punto de referencia con geocodificación del origen.

destination

object (GeocodedWaypoint)

Es el punto de referencia con geocodificación del destino.

intermediates[]

object (GeocodedWaypoint)

Es una lista de puntos de referencia intermedios geocodificados, cada uno con un campo de índice que corresponde a la posición basada en cero del punto de referencia en el orden en que se especificaron en la solicitud.

GeocodedWaypoint

Son los detalles sobre las ubicaciones que se usan como puntos de referencia. Solo se completa para las paradas de direcciones. Incluye detalles sobre los resultados de la geocodificación para determinar a qué dirección se geocodificó.

Representación JSON
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
Campos
geocoderStatus

object (Status)

Indica el código de estado que se genera a partir de la operación de geocodificación.

type[]

string

Son los tipos de resultado, en forma de cero o más etiquetas de tipo. Tipos admitidos: Tipos de dirección y tipos de componentes de dirección.

partialMatch

boolean

Indica que el geocodificador no devolvió una coincidencia exacta para la solicitud original, aunque sí encontró una coincidencia parcial para la dirección solicitada. Te recomendamos que examines la solicitud original para comprobar que no haya errores ortográficos y que la dirección no esté incompleta.

placeId

string

Es el ID de lugar de este resultado.

intermediateWaypointRequestIndex

integer

Es el índice del punto de parada intermedio correspondiente en la solicitud. Solo se propaga si el punto de referencia correspondiente es un punto de referencia intermedio.