Method: computeRoutes

Muestra la ruta principal junto con 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 campo.

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 de comodín (*) o la especificación de la máscara de campo en el nivel superior (routes) por los siguientes motivos:

  • Si seleccionas solo los campos que necesitas, nuestro servidor ahorrará ciclos de procesamiento, lo que nos permitirá mostrarte 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 es posible que esos campos nuevos requieran 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 porque cualquier campo nuevo que agreguemos se incluirá automáticamente en la respuesta.
  • Si seleccionas solo los campos que necesitas, se obtiene un tamaño de respuesta más pequeño y, por lo tanto, una mayor capacidad de procesamiento de la red.

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. Punto de referencia de origen

destination

object (Waypoint)

Obligatorio. Punto de referencia de destino.

intermediates[]

object (Waypoint)

Opcional. Es un conjunto de puntos de referencia a lo largo de la ruta (sin incluir los puntos finales) para detenerse o pasar por ellos. 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 del polilinea.

polylineEncoding

enum (PolylineEncoding)

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

departureTime

string (Timestamp format)

Opcional. La hora de salida. Si no estableces este valor, se establecerá de forma predeterminada en la hora en que realizaste la solicitud. NOTA: Solo puedes especificar un departureTime en el pasado cuando RouteTravelMode se establece como TRANSIT. Los viajes de transporte público están disponibles hasta 7 días en el pasado o 100 días en el futuro.

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".

arrivalTime

string (Timestamp format)

Opcional. La hora de llegada. NOTA: Solo se puede configurar cuando RouteTravelMode se establece como TRANSIT. Puedes especificar departureTime o arrivalTime, pero no ambos. Los viajes de transporte público están disponibles hasta 7 días en el pasado o 100 días en el futuro.

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. 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 Identificador de configuración regional de 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.

regionCode

string

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

units

enum (Units)

Opcional. Especifica las unidades de medida de 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 infieren 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 referencia 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 de ruta diferente al de la ruta predeterminada. Por ejemplo, un cálculo de ruta de referencia de FUEL_EFFICIENT tiene en cuenta varios parámetros que generarían una ruta óptima y eficiente en términos 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 mostrar campos adicionales en la respuesta. Estos campos adicionales también deben especificarse en la máscara de campo que se mostrará en la respuesta.

trafficModel

enum (TrafficModel)

Opcional. Especifica las suposiciones que se deben aplicar al calcular el tiempo con tráfico. Este parámetro de configuración afecta el valor que se muestra en el campo de duración en 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 TRANSIT. NOTA: Solo puedes especificar un transitPreferences cuando RouteTravelMode se establece como 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, puede recurrir a usar una forma diferente de cálculo. Cuando se usa el modo de resguardo, este campo contiene información detallada sobre la respuesta de resguardo. De lo contrario, este campo no se establece.

geocodingResults

object (GeocodingResults)

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

PolylineQuality

Es un conjunto de valores que especifican la calidad del polilinea.

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

PolylineEncoding

Especifica el tipo preferido de polilínea que se mostrará.

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 un polilinea con el formato LineString de GeoJSON.

ReferenceRoute

Es una ruta de referencia compatible 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 sobre la comodidad de conducción. Por ejemplo, puede preferir rutas locales en lugar de autopistas, tomar caminos de tierra, atravesar estacionamientos, etcétera. Esta función no muestra ninguna maniobra que Google Maps sepa que es ilegal.

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

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

ExtraComputation

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 Información sobre los peajes de las rutas
FUEL_CONSUMPTION Es el consumo de combustible estimado de las rutas.
TRAFFIC_ON_POLYLINE Polilíneas con información de tráfico para las rutas
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions se presenta como una cadena de texto HTML con formato. Este contenido se debe leer tal como está. Este contenido es solo para mostrarlo. No lo analices de forma programática.
FLYOVER_INFO_ON_POLYLINE Información sobre el sobrevuelo de las rutas Se debe especificar la máscara de campos routes.polyline_details.flyover_info para mostrar esta información. Por el momento, estos datos solo se propagará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 Información sobre rutas estrechas Se debe especificar la máscara de campos routes.polyline_details.narrow_road_info para mostrar esta información. Por el momento, estos datos solo se propagará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 consiste en una serie de tramos de ruta conectados que unen puntos de referencia iniciales, finales y 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 son útiles para identificar propiedades específicas de la ruta y compararlas con otras.

legs[]

object (RouteLeg)

Es un conjunto de tramos (segmentos de ruta entre puntos de referencia) que conforman la ruta. Cada tramo corresponde al viaje entre dos Waypoints que no son via. Por ejemplo, una ruta sin puntos de referencia intermedios tiene solo una etapa. 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 las secciones coincide con el orden de los puntos de referencia de origin a intermediates a destination.

distanceMeters

integer

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

duration

string (Duration format)

Es la cantidad de tiempo necesario para recorrer la ruta. Si estableces routingPreference en TRAFFIC_UNAWARE, este valor es el mismo que staticDuration. Si configuras routingPreference en TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL, este valor se calcula teniendo 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".

staticDuration

string (Duration format)

Es la duración del viaje por 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 polilínea combinada de todos los legs.

description

string

Es una descripción de la ruta.

warnings[]

string

Es un array de advertencias que se mostrarán cuando se muestre la ruta.

viewport

object (Viewport)

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

travelAdvisory

object (RouteTravelAdvisory)

Información adicional sobre la ruta.

optimizedIntermediateWaypointIndex[]

integer

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

localizedValues

object (RouteLocalizedValues)

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 que se cambie la ruta, respetar la intención original cuando se creó la ruta. Trata este token como un blob opaco. No compares su valor entre las solicitudes, ya que puede cambiar incluso si el servicio muestra exactamente 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 es compatible con las solicitudes que tienen puntos de referencia de paso.

polylineDetails

object (PolylineDetails)

Contiene información sobre los detalles a lo largo del polilinea.

RouteLabel

Son etiquetas para el Route que son ú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 "mejor" predeterminada que se muestra para el cálculo de la ruta.
DEFAULT_ROUTE_ALTERNATE Es una alternativa a la ruta "mejor" predeterminada. Se mostrarán rutas como esta cuando se especifique computeAlternativeRoutes.
FUEL_EFFICIENT Ruta con mayor ahorro de combustible Las rutas etiquetadas con este valor se determinan como optimizadas para los parámetros ecológicos, como el consumo de combustible.
SHORTER_DISTANCE Ruta con menor distancia de viaje. Esta función se encuentra en fase experimental.

RouteLeg

Contiene un segmento entre puntos de referencia que no son 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 la cantidad de tiempo necesario para recorrer la etapa. 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 de 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 por la etapa, calculada 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 este tramo que incluye cada polilínea de 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 de destino 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 ruta.

localizedValues

object (RouteLegLocalizedValues)

Representaciones de texto de las propiedades de RouteLeg.

stepsOverview

object (StepsOverview)

Información general sobre los pasos de esta 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

La codificación de cadena de la polilínea con el algoritmo de codificación de polilínea

geoJsonLinestring

object (Struct format)

Especifica un polilinea con el formato de cadena de líneas 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 de 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 de destino 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 posibles restricciones de zona de tráfico, en un paso de tramo.

localizedValues

object (RouteLegStepLocalizedValues)

Representaciones de texto de las propiedades de RouteLegStep.

transitDetails

object (RouteLegStepTransitDetails)

Detalles relacionados con este paso si el modo de viaje es TRANSIT.

travelMode

enum (RouteTravelMode)

Es el modo de viaje que se usó para este paso.

Maneuver

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

Enumeraciones
MANEUVER_UNSPECIFIED No se usa.
TURN_SLIGHT_LEFT Gira ligeramente hacia la izquierda.
TURN_SHARP_LEFT Gira bruscamente a la izquierda.
UTURN_LEFT Haz un giro en U a la izquierda.
TURN_LEFT Gira a la izquierda.
TURN_SLIGHT_RIGHT Gira ligeramente hacia la derecha.
TURN_SHARP_RIGHT Gira bruscamente a la derecha.
UTURN_RIGHT Gira en U a 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 Integrarse en el tráfico
FORK_LEFT Toma la bifurcación de la izquierda.
FORK_RIGHT Toma la bifurcación 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 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 tramo.

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

object (SpeedReadingInterval)

NOTA: Este campo no se propaga actualmente.

RouteLegStepLocalizedValues

Representaciones de texto de ciertas propiedades.

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

object (LocalizedText)

Distancia recorrida representada en forma de texto.

staticDuration

object (LocalizedText)

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

RouteLegStepTransitDetails

Información adicional para el RouteLegStep relacionada con las rutas 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)

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

localizedValues

object (TransitDetailsLocalizedValues)

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 la hora prevista como una duración entre las salidas de la misma parada en este momento. Por ejemplo, con un valor de headway en segundos 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)

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 parada de partida hasta la de llegada. Este recuento incluye la parada de llegada, pero excluye 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

muestra 3.

tripShortText

string

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

TransitStopDetails

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)

Información sobre la parada de llegada del paso.

arrivalTime

string (Timestamp format)

Es la hora estimada de llegada del paso.

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".

departureStop

object (TransitStop)

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

departureTime

string (Timestamp format)

Es la hora estimada de salida del paso.

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".

TransitStop

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)

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

TransitDetailsLocalizedValues

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 la zona horaria correspondiente.

departureTime

object (LocalizedTime)

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

LocalizedTime

Descripción localizada de la hora.

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 empresas) de transporte público que opera esta línea.

name

string

Es el nombre completo de la línea de transporte público. Por ejemplo, "8 Avenue Local".

uri

string

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

color

string

Es el 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 con esta línea.

nameShort

string

Es el nombre abreviado de esta línea de transporte público. Por lo general, este nombre será el número de una 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 la empresa de transporte público.

phoneNumber

string

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

uri

string

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

TransitVehicle

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

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

object (LocalizedText)

Es el nombre del vehículo, en mayúsculas.

type

enum (TransitVehicleType)

Es el tipo de vehículo que se usó.

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 de transporte local.

TransitVehicleType

Es el tipo de vehículos de 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 funiculares aéreos 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 que se debe informar al usuario en un paso de tramo, como 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 no se completa el subcampo estimatedPrice, se espera que la ruta incluya peajes, pero no se conoce un precio estimado. Si este campo no existe, no hay peaje en RouteLeg.

speedReadingIntervals[]

object (SpeedReadingInterval)

Intervalos de lectura de velocidad que detallan la densidad del tráfico. Se aplica en el caso de las preferencias de enrutamiento 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

Representaciones de texto de ciertas propiedades.

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

object (LocalizedText)

Distancia recorrida representada en forma de texto.

duration

object (LocalizedText)

Es la duración, representada en forma de texto y localizada a la región de la consulta. Tiene en cuenta las condiciones de tráfico. Nota: Si no solicitaste información de tráfico, este valor es el mismo que staticDuration.

staticDuration

object (LocalizedText)

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

StepsOverview

Proporciona información general sobre una lista de RouteLegStep.

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

object (MultiModalSegment)

Información resumida sobre los diferentes segmentos multimodales de RouteLeg.steps. Este campo no se completa si el RouteLeg no contiene ningún segmento 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 el RouteLeg no contiene ningún segmento multimodal en los pasos.

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

object (NavigationInstruction)

NavigationInstruction para el segmento multimodal.

travelMode

enum (RouteTravelMode)

Es el medio de transporte del segmento multimodal.

stepStartIndex

integer

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

stepEndIndex

integer

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

Viewport

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

  • Si low = high, la ventana de visualización consta de ese único punto.

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

  • Si low.longitude = -180 grados y high.longitude = 180 grados, la ventana de visualización 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 propagar low y high, y el cuadro representado no puede estar vacío (como se especifica en las definiciones anteriores). Si el viewport está vacío, se generará un error.

Por ejemplo, este viewport encierra por completo 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 inferior de la vista del puerto.

high

object (LatLng)

Obligatorio. El punto alto de la ventana de visualización.

RouteLocalizedValues

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 recorrida representada en forma de texto.

duration

object (LocalizedText)

Es la duración, representada en forma de texto y localizada a la región de la consulta. Tiene en cuenta las condiciones de tráfico. Nota: Si no solicitaste información de tráfico, este valor es el mismo que staticDuration.

staticDuration

object (LocalizedText)

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

transitFare

object (LocalizedText)

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

PolylineDetails

Son los detalles correspondientes a un índice determinado o a un segmento contiguo de una polilínea. Dado un polilinea con los puntos P_0, P_1, ... , P_N (índice basado en cero), 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 del polilinea.

RoadFeatureState

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

Enumeraciones
ROAD_FEATURE_STATE_UNSPECIFIED No se calculó el estado de la ruta (valor predeterminado).
EXISTS La 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

Es el índice de inicio de este detalle en la polilínea.

endIndex

integer

Es el índice de finalización de este detalle en la polilínea.

NarrowRoadInfo

Encapsula información sobre rutas estrechas a lo largo del polilinea.

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)

La ubicación de la información relacionada con rutas estrechas 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 los puntos de referencia de direcciones.

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

object (GeocodedWaypoint)

Waypoint geocodificado de origen.

destination

object (GeocodedWaypoint)

Punto de referencia geocodificado de destino.

intermediates[]

object (GeocodedWaypoint)

Es una lista de waypoints intermedios geocodificados, cada uno de los cuales contiene un campo de índice que corresponde a la posición basada en cero del waypoint en el orden en que se especificó en la solicitud.

GeocodedWaypoint

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

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

Los tipos de resultados, 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 mostró una concordancia exacta para la solicitud original, aunque sí pudo establecer 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

El ID del lugar de este resultado.

intermediateWaypointRequestIndex

integer

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