Package google.maps.routes.v1

Índice

RoutesPreferred

La API de Routes Preferred

ComputeCustomRoutes

rpc ComputeCustomRoutes(ComputeCustomRoutesRequest) returns (ComputeCustomRoutesResponse)

Con un conjunto de puntos de referencia intermedios y terminales, y un objetivo de ruta, calcula la mejor ruta para el objetivo de ruta. También devuelve la ruta más rápida y la más corta como rutas de referencia.

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 el encabezado HTTP/gRPC X-Goog-FieldMask (consulta los parámetros y encabezados de URL disponibles). El valor es una lista de rutas de campo separadas por comas. Consulta esta 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 las distancias, la duración, el token y la información de los peajes de las rutas: X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

Google no recomienda 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 esos campos nuevos podrían requerir 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.
Alcances de la 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.

ComputeRouteMatrix

rpc ComputeRouteMatrix(ComputeRouteMatrixRequest) returns (RouteMatrixElement)

Toma una lista de orígenes y destinos, y muestra una transmisión que contiene información de ruta para cada combinación de origen y destino.

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 el encabezado HTTP/gRPC X-Goog-FieldMask (consulta los parámetros y encabezados de URL disponibles). El valor es una lista de rutas de campo separadas por comas. Consulta esta 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 las duraciones de las rutas, las distancias, el estado de los elementos, las condiciones y los índices de los elementos (un ejemplo de configuración de producción): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Es fundamental que incluya status en su máscara de campo, ya que, de lo contrario, todos los mensajes parecerán estar bien. Google no recomienda el uso de la máscara de campo de respuesta comodín (*) 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 esos campos nuevos podrían requerir 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.
Alcances de la 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.

ComputeRoutes

rpc ComputeRoutes(ComputeRoutesRequest) returns (ComputeRoutesResponse)

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 parámetros y encabezados 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 esos campos nuevos podrían requerir 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.
Alcances de la 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.

ComputeCustomRoutesRequest

mensaje de solicitud ComputeCustomRoutes.

Campos
origin

Waypoint

Obligatorio. Punto de referencia de origen.

destination

Waypoint

Obligatorio. Punto de referencia de destino.

intermediates[]

Waypoint

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

travel_mode

RouteTravelMode

Opcional. Especifica el medio de transporte. Por el momento, solo se admite Drive.

routing_preference

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 devuelve un error. En el futuro, es posible que implementemos un mecanismo de resguardo para usar una opción diferente cuando la opción preferida no proporcione un resultado válido. Puedes especificar esta opción solo cuando travel_mode es DRIVE o TWO_WHEELER; de lo contrario, la solicitud falla.

polyline_quality

PolylineQuality

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

polyline_encoding

PolylineEncoding

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

departure_time

Timestamp

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 una hora que ya ocurrió, la solicitud fallará.

route_modifiers

RouteModifiers

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

route_objective

RouteObjective

Obligatorio. Un objetivo de ruta para el que se deben realizar optimizaciones.

language_code

string

Opcional. El código de idioma BCP-47, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Consulta Idiomas compatibles 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

Units

Opcional. Especifica las unidades de medida para los campos de visualización. Esto incluye el campo instruction en NavigationInstruction. Las unidades de medida usadas para la ruta, el tramo, la distancia del paso y la duración no se ven afectadas por este valor. Si no proporcionas este valor, las unidades de visualización se infieren de la ubicación de la solicitud.

ComputeCustomRoutesResponse

Mensaje de respuesta de ComputeCustomRoutes.

Campos
routes[]

CustomRoute

Son las “mejores” rutas para el objetivo de ruta de entrada.

fastest_route

CustomRoute

La ruta de referencia más rápida.

shortest_route

CustomRoute

Es la ruta de referencia más corta.

fallback_info

FallbackInfo

Información de resguardo para rutas personalizadas.

FallbackInfo

Encapsula la información de resguardo para ComputeCustomRoutes. ComputeCustomRoutes realiza dos tipos de resguardos:

  1. Si no puede procesar la ruta con el valor de "route_preference" que solicitó el cliente, recurrirá a otro modo de enrutamiento. En este caso, fallback_routing_mode y route_mode_fallback_reason se usan para comunicar el modo de enrutamiento de resguardo que se usó, así como el motivo del resguardo.

  2. Si no puede calcular una “mejor” ruta para el objetivo de ruta especificado por el cliente, podría recurrir a otro objetivo. fallback_route_objective se usa para comunicar el objetivo de ruta de resguardo.

Campos
routing_mode

FallbackRoutingMode

Es el modo de enrutamiento que se usa para la respuesta. Si se activó el resguardo, el modo puede ser diferente de la preferencia de enrutamiento establecida en la solicitud original del cliente.

routing_mode_reason

FallbackReason

El motivo por el que se usó la respuesta de resguardo en lugar de la respuesta original. Este campo solo se propaga cuando se activa el modo de resguardo y se muestra la respuesta de resguardo.

route_objective

FallbackRouteObjective

El objetivo de ruta usado para la respuesta. Si se activó el resguardo, el objetivo puede ser diferente del objetivo de ruta proporcionado en la solicitud original del cliente.

FallbackRouteObjective

RouteObjective que se usa para la respuesta.

Enumeraciones
FALLBACK_ROUTE_OBJECTIVE_UNSPECIFIED Objetivo de ruta de resguardo sin especificar.
FALLBACK_RATECARD_WITHOUT_TOLL_PRICE_DATA Si el cliente solicita RateCard y establece el valor de include_tolls en verdadero, y Google no tiene datos sobre los precios de los peajes de la ruta, la API recurrirá a RateCard sin considerar el precio del peaje.

ComputeRouteMatrixRequest

Mensaje de solicitud de ComputeRouteMatrix

Campos
origins[]

RouteMatrixOrigin

Obligatorio. Array de orígenes, que determina las filas de la matriz de respuesta. Se aplican varias restricciones de tamaño a la cardinalidad de los orígenes y destinos:

  • En ningún caso, la cantidad de elementos (orígenes × destinos) no debe ser superior a 625.
  • La cantidad de elementos (orígenes × destinos) no debe ser superior a 100 si route_preference se establece en TRAFFIC_AWARE_OPTIMAL.
  • La cantidad de puntos de referencia (orígenes + destinos) especificada como place_id no debe ser superior a 50.
destinations[]

RouteMatrixDestination

Obligatorio. Array de destinos, que determina las columnas de la matriz de respuesta.

travel_mode

RouteTravelMode

Opcional. Especifica el medio de transporte.

routing_preference

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. En el futuro, es posible que implementemos un mecanismo de resguardo para usar una opción diferente cuando la opción preferida no proporcione un resultado válido. Puedes especificar esta opción solo cuando travel_mode es DRIVE o TWO_WHEELER; de lo contrario, la solicitud falla.

departure_time

Timestamp

Opcional. Hora de salida. Si no estableces este valor, la hora predeterminada será la hora en que realizaste la solicitud. Si estableces este valor en una hora que ya ocurrió, la solicitud fallará.

ComputeRoutesRequest

Mensaje de solicitud de ComputeRoutes.

Campos
origin

Waypoint

Obligatorio. Punto de referencia de origen.

destination

Waypoint

Obligatorio. Punto de referencia de destino.

intermediates[]

Waypoint

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

travel_mode

RouteTravelMode

Opcional. Especifica el medio de transporte.

routing_preference

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 devuelve un error. En el futuro, es posible que implementemos un mecanismo de resguardo para usar una opción diferente cuando la opción preferida no proporcione un resultado válido. Puedes especificar esta opción solo cuando travel_mode es DRIVE o TWO_WHEELER; de lo contrario, la solicitud falla.

polyline_quality

PolylineQuality

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

polyline_encoding

PolylineEncoding

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

departure_time

Timestamp

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 una hora que ya ocurrió, la solicitud fallará.

compute_alternative_routes

bool

Especifica si se deben calcular rutas alternativas además de la ruta.

route_modifiers

RouteModifiers

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

language_code

string

Opcional. El código de idioma BCP-47, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Consulta Idiomas compatibles 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

Units

Opcional. Especifica las unidades de medida para los campos de visualización. Esto incluye el campo instruction en NavigationInstruction. Las unidades de medida usadas para la ruta, el tramo, la distancia del paso y la duración no se ven afectadas por este valor. Si no proporcionas este valor, las unidades de visualización se infieren de la ubicación de la solicitud.

optimize_waypoint_order

bool

Si OptimizeWaypointOrder se establece como verdadero, se intenta volver a ordenar los puntos de referencia 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 falla. Usa ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index para encontrar el pedido nuevo. 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 está vacío.

ComputeRoutesResponse

ComputeRoutes para enviar el mensaje de respuesta.

Campos
routes[]

Route

Contiene un array de rutas calculadas (hasta tres) cuando especificas compute_alternatives_routes y contiene 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.

fallback_info

FallbackInfo

En algunos casos, cuando el servidor no puede procesar los resultados de la ruta con todas las preferencias de entrada, puede recurrir a una forma de procesamiento diferente. 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.

CustomRoute

Encapsula una ruta personalizada calculada en función del objetivo de ruta especificado por el cliente. CustomRoute contiene una ruta y un token de ruta, que se puede pasar a NavSDK para reconstruir la ruta personalizada para la navegación paso a paso.

Campos
route

Route

La ruta considerada "mejor" para el objetivo de ruta de entrada.

token

string

El token de ruta codificado en base64 seguro para la Web que se puede pasar a NavSDK, lo que permite que este último reconstruya la ruta durante la navegación y, en caso de redireccionamiento, respeta la intención original cuando se llama a RoutesPreferred ComputeCustomRoutes. Los clientes deben tratar este token como un BLOB opaco.

FallbackInfo

Información relacionada con cómo y por qué se usó un resultado de resguardo. Si se configura este campo, significa que el servidor usó un modo de enrutamiento diferente del modo preferido como resguardo.

Campos
routing_mode

FallbackRoutingMode

Es el modo de enrutamiento que se usa para la respuesta. Si se activó el resguardo, el modo puede ser diferente de la preferencia de enrutamiento establecida en la solicitud original del cliente.

reason

FallbackReason

El motivo por el que se usó la respuesta de resguardo en lugar de la respuesta original. Este campo solo se propaga cuando se activa el modo de resguardo y se muestra la respuesta de resguardo.

FallbackReason

Motivos para usar la respuesta de resguardo.

Enumeraciones
FALLBACK_REASON_UNSPECIFIED No se especificó ningún motivo de resguardo.
SERVER_ERROR Se produjo un error en el servidor mientras se calculaban las rutas con tu modo de enrutamiento preferido, pero pudimos devolver un resultado calculado con un modo alternativo.
LATENCY_EXCEEDED No pudimos terminar el cálculo con tu modo de enrutamiento preferido a tiempo, pero pudimos devolver un resultado calculado por un modo alternativo.

FallbackRoutingMode

Es el modo de enrutamiento real que se usa para la respuesta de resguardo que se devuelve.

Enumeraciones
FALLBACK_ROUTING_MODE_UNSPECIFIED No se usa.
FALLBACK_TRAFFIC_UNAWARE Indica "TRAFFIC_UNAWARE". de enrutamiento para procesar la respuesta.
FALLBACK_TRAFFIC_AWARE Indica "TRAFFIC_AWARE". de enrutamiento para procesar la respuesta.

Ubicación

Encapsula una ubicación (un punto geográfico y una orientación opcional).

Campos
lat_lng

LatLng

Las coordenadas geográficas del punto de referencia.

heading

Int32Value

Orientación según la brújula asociada a la dirección del flujo del tráfico. Este valor se usa para especificar el lado de la ruta que se usará para la partida y el destino. Los valores de encabezado pueden variar de 0 a 360, donde 0 especifica la orientación hacia el norte, el 90 especifica la orientación hacia el este, etc. Puedes usar este campo solo para los medios de transporte DRIVE y TWO_WHEELER.

Maneuver

Es un conjunto de valores que especifican la acción de navegación que se debe realizar para el paso actual (p.ej., girar a la izquierda, combinar, enderezar, etc.).

Enumeraciones
MANEUVER_UNSPECIFIED No se usa.
TURN_SLIGHT_LEFT Gira levemente a la izquierda.
TURN_SHARP_LEFT Gira totalmente a la izquierda.
UTURN_LEFT Haz un giro en U a la izquierda.
TURN_LEFT Gira a la izquierda.
TURN_SLIGHT_RIGHT Gira levemente a la derecha.
TURN_SHARP_RIGHT Gira pronunciadamente a la derecha.
UTURN_RIGHT Haz un giro 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 Incorpore en el tráfico.
FORK_LEFT Toma la bifurcación izquierda.
FORK_RIGHT Usa la bifurcación correcta.
FERRY Toma el transbordador.
FERRY_TRAIN Toma el tren que te lleva al ferri.
ROUNDABOUT_LEFT Dobla a la izquierda en la rotonda.
ROUNDABOUT_RIGHT Dobla a la derecha en la rotonda.
Campos
maneuver

Maneuver

Encapsula las instrucciones de navegación del paso actual (p.ej., girar a la izquierda, combinar, recto, etc.). Este campo determina qué ícono mostrar.

instructions

string

Instrucciones para navegar por este paso.

Polilínea

Encapsula una polilínea codificada.

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:
encoded_polyline

string

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

geo_json_linestring

Struct

Especifica una polilínea con el formato GeoJSON LineString

PolylineEncoding

Especifica el tipo preferido de polilínea que se debe 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ínea.
GEO_JSON_LINESTRING Especifica una polilínea con el formato GeoJSON LineString

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 de más puntos que OVERVIEW, a costa de un tamaño de respuesta mayor. Usa este valor cuando necesites más precisión.
OVERVIEW Especifica una polilínea de descripción general, que se compone de 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.

Ruta

Encapsula una ruta, que consta de una serie de tramos conectados de ruta que unen los puntos de referencia de inicio, final e intermedios.

Campos
legs[]

RouteLeg

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

distance_meters

int32

La distancia de viaje de la ruta en metros.

duration

Duration

Indica la cantidad de tiempo necesario para navegar por la ruta. Si configuras routing_preference como TRAFFIC_UNAWARE, este valor es el mismo que static_duration. Si estableces routing_preference como TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL, este valor se calcula teniendo en cuenta las condiciones del tráfico.

static_duration

Duration

La duración de un viaje por la ruta sin tener en cuenta las condiciones del tráfico.

polyline

Polyline

La polilínea de la ruta general Esta será la polilínea combinada de todos los elementos legs.

description

string

Es una descripción de la ruta.

warnings[]

string

Array de advertencias que se mostrarán cuando se muestre la ruta.

viewport

Viewport

El cuadro de límite del viewport de la polilínea.

travel_advisory

RouteTravelAdvisory

Información adicional sobre la ruta.

optimized_intermediate_waypoint_index[]

int32

Si ComputeRoutesRequest.optimize_waypoint_order se establece como verdadero, este campo contiene el orden optimizado de los puntos de referencia intermedios. De lo contrario, este campo estará vacío. Por ejemplo, supongamos que la entrada es Origin: LA; Intermedios: Dallas, Bangor, Phoenix Destino: Nueva York; y el orden de puntos de referencia intermedio optimizado es Phoenix, Dallas, Bangor. Entonces, este campo contiene los valores [2, 0, 1]. El índice comienza con 0 para el primer punto de referencia intermedio.

RouteLeg

Encapsula un segmento entre puntos de referencia que no son via.

Campos
distance_meters

int32

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

duration

Duration

Es la cantidad de tiempo necesario para navegar por el tramo. Si route_preference se establece como TRAFFIC_UNAWARE, este valor es el mismo que static_duration. Si el route_preference es TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL, este valor se calcula teniendo en cuenta las condiciones del tráfico.

static_duration

Duration

Es la duración del recorrido por el tramo, calculada sin tener en cuenta las condiciones del tráfico.

polyline

Polyline

La polilínea general de esta etapa. Esto incluye cada polilínea de step.

start_location

Location

Es la ubicación inicial de este segmento. Puede ser diferente del origin proporcionado. Por ejemplo, cuando el origin proporcionado no está cerca de una ruta, se trata de un punto en la ruta.

end_location

Location

Es la ubicación final de esta etapa. Puede ser diferente del destination proporcionado. Por ejemplo, cuando el destination proporcionado no está cerca de una ruta, se trata de un punto en la ruta.

steps[]

RouteLegStep

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

travel_advisory

RouteLegTravelAdvisory

Encapsula la información adicional que se debe informar al usuario, como una posible restricción de la zona de tráfico, etc., en un segmento de la ruta.

RouteLegStep

Encapsula un segmento de un RouteLeg. Un paso corresponde a una sola instrucción de navegación. Los tramos de la ruta constan de escalones.

Campos
distance_meters

int32

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

static_duration

Duration

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

polyline

Polyline

La polilínea asociada con este paso.

start_location

Location

Es la ubicación de inicio de este paso.

end_location

Location

Es la ubicación final de este paso.

navigation_instruction

NavigationInstruction

Instrucciones de navegación.

travel_advisory

RouteLegStepTravelAdvisory

Encapsula la información adicional que se debe informar al usuario, como una posible restricción de la zona de tráfico en un paso del segmento.

RouteLegStepTravelAdvisory

Encapsula la información adicional que se debe informar al usuario, como una posible restricción de la zona de tráfico en un paso del segmento.

Campos
speed_reading_intervals[]

SpeedReadingInterval

Intervalos de lectura de velocidad que detallan la densidad del tráfico Se aplica en el caso de las preferencias de enrutamiento de TRAFFIC_AWARE y TRAFFIC_AWARE_OPTIMAL. Los intervalos cubren toda la polilínea de RouteLegStep sin superposición. 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
speed_reading_intervals: [A,C), [C,D), [D,G).

RouteLegTravelAdvisory

Encapsula la información adicional que se debe informar al usuario, como una posible restricción de la zona de tráfico, etc., en un segmento de la ruta.

Campos
toll_info

TollInfo

Encapsula la información sobre los peajes de la RouteLeg específica. Este campo solo se completa si esperamos que haya peajes en RouteLeg. Si se configura este campo, pero el subcampo estimado_price no está propagado, se espera que la ruta contenga peajes, pero no conocemos el precio estimado. Si este campo no existe, entonces no hay peaje en RouteLeg.

speed_reading_intervals[]

SpeedReadingInterval

Intervalos de lectura de velocidad que detallan la densidad del tráfico Se aplica en el caso de las preferencias de enrutamiento de TRAFFIC_AWARE y TRAFFIC_AWARE_OPTIMAL. Los intervalos cubren toda la polilínea de RouteLg sin superposición. 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
speed_reading_intervals: [A,C), [C,D), [D,G).

RouteMatrixDestination

Un único destino para ComputeRouteMatrixRequest

Campos
waypoint

Waypoint

Obligatorio. Punto de referencia de destino

RouteMatrixElement

Encapsula la información de rutas calculada para un par de origen/destino en la API de ComputeRouteMatrix. Este proto se puede transmitir al cliente.

Campos
origin_index

int32

Es un índice basado en cero del origen en la solicitud.

destination_index

int32

Es el índice basado en cero del destino de la solicitud.

status

Status

Código de estado de error de este elemento.

condition

RouteMatrixElementCondition

Indica si se encontró la ruta o no. No depende del estado.

distance_meters

int32

La distancia de viaje de la ruta en metros.

duration

Duration

Indica la cantidad de tiempo necesario para navegar por la ruta. Si configuras routing_preference como TRAFFIC_UNAWARE, este valor es el mismo que static_duration. Si estableces routing_preference como TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL, este valor se calcula teniendo en cuenta las condiciones del tráfico.

static_duration

Duration

La duración de un viaje por la ruta sin tener en cuenta las condiciones del tráfico.

travel_advisory

RouteTravelAdvisory

Información adicional sobre la ruta. Por ejemplo: información sobre restricciones y peajes

fallback_info

FallbackInfo

En algunos casos, cuando el servidor no puede procesar la ruta con las preferencias determinadas para este par de origen/destino en particular, puede recurrir a un modo de procesamiento diferente. 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.

RouteMatrixElementCondition

La condición de la ruta que se muestra.

Enumeraciones
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED Solo se usa cuando el status del elemento no es correcto.
ROUTE_EXISTS Se encontró una ruta y se completó la información correspondiente para el elemento.
ROUTE_NOT_FOUND No se encontró ninguna ruta. Los campos que contengan información de rutas, como distance_meters o duration, no se completarán en el elemento.

RouteMatrixOrigin

Un solo origen para ComputeRouteMatrixRequest

Campos
waypoint

Waypoint

Obligatorio. Punto de referencia de origen

route_modifiers

RouteModifiers

Opcional. Modificadores para cada ruta que tome esto como origen

RouteModifiers

Encapsula un conjunto de condiciones opcionales que se deben cumplir al calcular las rutas.

Campos
avoid_tolls

bool

Especifica si se deben evitar las rutas con peaje cuando sea razonable. Se dará prioridad a las rutas que no contengan rutas con peaje. Solo se aplica a los medios de transporte DRIVE y TWO_WHEELER.

avoid_highways

bool

Especifica si se deben evitar las autopistas cuando sea razonable. Se dará prioridad a las rutas que no contengan autopistas. Solo se aplica a los medios de transporte DRIVE y TWO_WHEELER.

avoid_ferries

bool

Especifica si se deben evitar transbordadores cuando sea razonable. Se dará prioridad a las rutas que no incluyan viajes en ferris. Solo se aplica a los medios de transporte DRIVE y TWO_WHEELER.

avoid_indoor

bool

Especifica si se debe evitar la navegación en interiores cuando sea razonable. Se dará prioridad a las rutas que no contengan navegación interior. Se aplica solo al medio de transporte WALK.

vehicle_info

VehicleInfo

Especifica la información del vehículo.

toll_passes[]

TollPass

Encapsula la información sobre los pases de peajes. Si se proporcionan pases de peaje, la API intentará mostrar el precio correspondiente. Si no se proporcionan pases de peaje, la API los tratará como desconocidos y tratará de mostrar el precio en efectivo. Solo se aplica a los medios de transporte Drive y TWO_WHEELER.

RouteObjective

Encapsula un objetivo para realizar optimizaciones mediante ComputeCustomRoutes.

Campos
rate_card

RateCard

El objetivo de tarifa publicitaria.

RateCard

Encapsula un objetivo de ruta de RateCard.

Campos
cost_per_minute

MonetaryCost

Opcional. Costo por minuto

cost_per_km

MonetaryCost

Opcional. Costo por kilómetro

include_tolls

bool

Opcional. Indica si se deben incluir los costos de peajes en el costo general.

MonetaryCost

Encapsula el costo que se usa en la hoja de tarifas.

Campos
value

double

Obligatorio. El valor del costo en moneda local que se infirió de la solicitud.

RouteTravelAdvisory

Encapsula la información adicional que se debe informar al usuario, como una posible restricción de la zona de tráfico, etcétera.

Campos
toll_info

TollInfo

Encapsula la información sobre los peajes de la ruta. Este campo solo se completa si se prevé que haya peajes en la ruta. Si se configura este campo, pero el subcampo estimado_price no está propagado, se espera que la ruta contenga peajes, pero no conocemos el precio estimado. Si no estableces este campo, se espera que no haya peaje en la ruta.

speed_reading_intervals[]

SpeedReadingInterval

Intervalos de lectura de velocidad que detallan la densidad del tráfico Se aplica en el caso de las preferencias de enrutamiento de TRAFFIC_AWARE y TRAFFIC_AWARE_OPTIMAL. Los intervalos cubren toda la polilínea de la ruta 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
speed_reading_intervals: [A,C), [C,D), [D,G).

RouteTravelMode

Es un conjunto de valores que se usa para especificar el medio de transporte.

Enumeraciones
TRAVEL_MODE_UNSPECIFIED No se especificó ningún medio de transporte. La configuración predeterminada es DRIVE.
DRIVE Viajar en automóvil de pasajeros
BICYCLE Viaja en bicicleta.
WALK Viaje a pie.
TWO_WHEELER Vehículo motorizado de dos ruedas Por ejemplo, motocicletas. Ten en cuenta que esto es diferente del medio de transporte BICYCLE, que abarca el modo con tecnología humana.
TAXI

Viaja en taxi con licencia, lo que puede permitir que el vehículo se desplace por los carriles designados para taxis en algunas áreas.

El modo TAXI es una función experimental. Si el cliente solicita una ruta TAXI en una ciudad donde no hay datos disponibles de carriles para taxi, se devuelve una ruta Drive.

RoutingPreference

Es un conjunto de valores que especifican factores que se deben tener en cuenta al calcular la ruta.

Enumeraciones
ROUTING_PREFERENCE_UNSPECIFIED No se especificó ninguna preferencia de enrutamiento. Margen aproximado predeterminado: TRAFFIC_AWARE
TRAFFIC_UNAWARE Calcula rutas sin considerar las condiciones de tráfico. Este nivel es adecuado cuando las condiciones de tráfico no son importantes. Usar este valor produce la latencia más baja.
TRAFFIC_AWARE Calcula las rutas teniendo en cuenta las condiciones de tráfico. A diferencia de TRAFFIC_AWARE_OPTIMAL, se aplican algunas optimizaciones para reducir significativamente la latencia.
TRAFFIC_AWARE_OPTIMAL Calcula las rutas teniendo en cuenta las condiciones del tráfico, sin aplicar la mayoría de las optimizaciones de rendimiento. El uso de este valor produce la latencia más alta.

SpeedReadingInterval

Es el indicador de densidad del tráfico en un tramo contiguo de una polilínea o una ruta. Dada una ruta con puntos P_0, P_1, ... , P_N (índice basado en cero), SpeedReadingInterval define un intervalo y describe su tráfico utilizando las siguientes categorías.

Campos
start_polyline_point_index

int32

Es el índice inicial de este intervalo en la polilínea. En JSON, cuando el índice es 0, el campo parece estar vacío.

end_polyline_point_index

int32

El índice final de este intervalo en la polilínea. En JSON, cuando el índice es 0, el campo parece estar vacío.

speed

Speed

La velocidad del tráfico en este intervalo.

Velocidad

Es la clasificación de la velocidad de las polilíneas según los datos del tráfico.

Enumeraciones
SPEED_UNSPECIFIED Valor predeterminado Este valor no se usa.
NORMAL Velocidad normal, no se detecta una demora.
SLOW Se detectó una demora, pero no se formó un embotellamiento.
TRAFFIC_JAM Se detectó un embotellamiento.

TollInfo

Encapsula la información de los peajes en un Route o en un RouteLeg.

Campos
estimated_price[]

Money

Indica el importe monetario de los peajes de la ruta o RouteLeg correspondiente. Esta lista contiene un importe correspondiente a cada moneda que se espera que cobre las estaciones de peaje. Por lo general, esta lista contiene solo un elemento para las rutas con peajes en una moneda. En el caso de los viajes internacionales, esta lista puede contener varios artículos que reflejen los peajes en diferentes monedas.

TollPass

Lista de pases de peaje en todo el mundo que admitimos.

Enumeraciones
TOLL_PASS_UNSPECIFIED No se usa. Si se usa este valor, la solicitud falla.
AU_ETOLL_TAG Uno de los tantos proveedores de pases de peaje en Sídney. https://www.myetoll.com.au
AU_EWAY_TAG Uno de los tantos proveedores de pases de peaje en Sídney. https://www.tollpay.com.au/
AU_LINKT Pase de peaje para toda Australia Consulte detalles adicionales en https://www.linkt.com.au/.
AR_TELEPASE Peaje de Argentina. Consulta más detalles en https://telepase.com.ar
BR_AUTO_EXPRESO Peaje de Brasil. Consulta más detalles en https://www.autoexpreso.com
BR_CONECTCAR Peaje de Brasil. Consulta más detalles en https://conectcar.com.
BR_MOVE_MAIS Peaje de Brasil. Consulta más detalles en https://movemais.com.
BR_PASSA_RAPIDO Peaje de Brasil. Obtén más información en https://pasorapido.gob.do/.
BR_SEM_PARAR Peaje de Brasil. Obtén más detalles en https://www.semparar.com.br.
BR_TAGGY Peaje de Brasil. Consulta más detalles en https://taggy.com.br.
BR_VELOE Peaje de Brasil. Consulte detalles adicionales en https://veloe.com.br/site/onde-usar.
CA_US_AKWASASNE_SEAWAY_CORPORATE_CARD Cruce fronterizo entre Canadá y Estados Unidos.
CA_US_AKWASASNE_SEAWAY_TRANSIT_CARD Cruce fronterizo entre Canadá y Estados Unidos.
CA_US_BLUE_WATER_EDGE_PASS Cruce fronterizo de Ontario, Canadá a Míchigan, Estados Unidos.
CA_US_CONNEXION Cruce fronterizo de Ontario, Canadá a Míchigan, Estados Unidos.
CA_US_NEXUS_CARD Cruce fronterizo entre Canadá y Estados Unidos.
ID_E_TOLL Indonesia. Tarjeta electrónica proporcionada por varios bancos que se utiliza para pagar peajes. Se cobra el mismo cargo en todas las tarjetas electrónicas a través de bancos, por lo que solo se necesita un valor de enumeración. P.ej., Bank Mandiri https://www.bankmandiri.co.id/e-money BCA https://www.bca.co.id/flazz BNI https://www.bni.co.id/id-id/ebanking/tapcash
IN_FASTAG India.
IN_LOCAL_HP_PLATE_EXEMPT India, exención de matrícula estatal de HP.
MX_TAG_IAVE Peaje de México.
MX_TAG_TELEVIA Empresa de peajes de México. Una de las muchas que operan en Ciudad de México. Consulta detalles adicionales en https://www.televia.com.mx.
MX_VIAPASS Peaje de México. Para obtener más detalles, consulte https://www.viapass.com.mx/viapass/web_home.aspx.
US_AL_FREEDOM_PASS AL, EE.UU.
US_AK_ANTON_ANDERSON_TUNNEL_BOOK_OF_10_TICKETS AK, EE.UU.
US_CA_FASTRAK CA, EE.UU.
US_CA_FASTRAK_CAV_STICKER Indica que el conductor tiene un pase de FasTrak, además de la calcomanía de vehículo de aire limpio (CAV) emitido por el DMV. https://www.bayareafastrak.org/en/guide/doINeedFlex.shtml
US_CO_EXPRESSTOLL CO, EE.UU.
US_CO_GO_PASS CO, EE.UU.
US_DE_EZPASSDE DE, EE.UU.
US_FL_BOB_SIKES_TOLL_BRIDGE_PASS FL, EE.UU.
US_FL_DUNES_COMMUNITY_DEVELOPMENT_DISTRICT_EXPRESSCARD FL, EE.UU.
US_FL_EPASS FL, EE.UU.
US_FL_GIBA_TOLL_PASS FL, EE.UU.
US_FL_LEEWAY FL, EE.UU.
US_FL_SUNPASS FL, EE.UU.
US_FL_SUNPASS_PRO FL, EE.UU.
US_IL_EZPASSIL IL, EE.UU.
US_IL_IPASS IL, EE.UU.
US_IN_EZPASSIN IN, EE.UU.
US_KS_BESTPASS_HORIZON KS, EE.UU.
US_KS_KTAG KS, EE.UU.
US_KS_NATIONALPASS KS, EE.UU.
US_KS_PREPASS_ELITEPASS KS, EE.UU.
US_LA_GEAUXPASS LA, EE.UU.
US_LA_TOLL_TAG LA, EE.UU.
US_MA_EZPASSMA MA, EE.UU.
US_MD_EZPASSMD MD, EE.UU.
US_ME_EZPASSME ME, EE.UU.
US_MI_AMBASSADOR_BRIDGE_PREMIER_COMMUTER_CARD Míchigan, EE.UU.
US_MI_GROSSE_ILE_TOLL_BRIDGE_PASS_TAG Míchigan, EE.UU.
US_MI_IQ_PROX_CARD Míchigan, EE.UU.
US_MI_MACKINAC_BRIDGE_MAC_PASS Míchigan, EE.UU.
US_MI_NEXPRESS_TOLL Míchigan, EE.UU.
US_MN_EZPASSMN MN, EE.UU.
US_NC_EZPASSNC NC, EE.UU.
US_NC_PEACH_PASS NC, EE.UU.
US_NC_QUICK_PASS NC, EE.UU.
US_NH_EZPASSNH NH, EE.UU.
US_NJ_DOWNBEACH_EXPRESS_PASS Nueva Jersey, EE.UU.
US_NJ_EZPASSNJ Nueva Jersey, EE.UU.
US_NY_EXPRESSPASS NY, EE.UU.
US_NY_EZPASSNY NY, EE.UU.
US_OH_EZPASSOH OH, EE.UU.
US_PA_EZPASSPA PA, EE.UU.
US_RI_EZPASSRI R. R., EE.UU.
US_SC_PALPASS SC, EE.UU.
US_TX_BANCPASS TX, EE.UU.
US_TX_DEL_RIO_PASS TX, EE.UU.
US_TX_EFAST_PASS TX, EE.UU.
US_TX_EAGLE_PASS_EXPRESS_CARD TX, EE.UU.
US_TX_EPTOLL TX, EE.UU.
US_TX_EZ_CROSS TX, EE.UU.
US_TX_EZTAG TX, EE.UU.
US_TX_LAREDO_TRADE_TAG TX, EE.UU.
US_TX_PLUSPASS TX, EE.UU.
US_TX_TOLLTAG TX, EE.UU.
US_TX_TXTAG TX, EE.UU.
US_TX_XPRESS_CARD TX, EE.UU.
US_UT_ADAMS_AVE_PARKWAY_EXPRESSCARD UT, EE.UU.
US_VA_EZPASSVA VA, EE.UU.
US_WA_BREEZEBY WA, EE.UU.
US_WA_GOOD_TO_GO WA, EE.UU.
US_WV_EZPASSWV WV, EE.UU.
US_WV_MEMORIAL_BRIDGE_TICKETS WV, EE.UU.
US_WV_NEWELL_TOLL_BRIDGE_TICKET WV, EE.UU.

Unidades

Es un conjunto de valores que especifican la unidad de medida que se usa en la pantalla.

Enumeraciones
UNITS_UNSPECIFIED Unidades de medida no especificadas. El valor predeterminado es la unidad de medida inferida de la solicitud.
METRIC Unidades métricas de medida.
IMPERIAL Unidades de medida imperiales (inglés).

VehicleEmissionType

Es un conjunto de valores que describen el tipo de emisión del vehículo. Se aplica solo al medio de transporte Drive.

Enumeraciones
VEHICLE_EMISSION_TYPE_UNSPECIFIED No se especificó ningún tipo de emisión. La configuración predeterminada es GASOLINE.
GASOLINE Vehículos con gasolina o combustible
ELECTRIC Vehículo eléctrico
HYBRID Vehículos híbridos (como gasolina + eléctrico)

VehicleInfo

Encapsula la información del vehículo, como el último carácter de la matrícula.

Campos
emission_type

VehicleEmissionType

Describe el tipo de emisión del vehículo. Se aplica solo al medio de transporte Drive.

Punto de referencia

Encapsula un punto de referencia. Los puntos de referencia marcan el comienzo y el final de una ruta e incluyen paradas intermedias a lo largo de la ruta.

Campos
via

bool

Marca este punto de referencia como un hito en lugar de un punto de interrupción. Para cada punto de referencia en la solicitud que no sea vía, la respuesta agrega una entrada al array legs para proporcionar los detalles de las paradas en ese segmento del viaje. Establece este valor en verdadero cuando desees que la ruta pase por este punto de referencia sin parar. Mediante los puntos de referencia, no se agrega una entrada al array legs, pero sí enrutan el recorrido a través del punto de referencia. Solo puedes establecer este valor en puntos de referencia intermedios. La solicitud falla si configuras este campo en los puntos de referencia de la terminal. Si ComputeRoutesRequest.optimize_waypoint_order se configura como true, este campo no se puede configurar como true. De lo contrario, la solicitud fallará.

vehicle_stopover

bool

Indica que el punto de referencia está destinado a la parada de los vehículos, cuya intención es recoger o bajar. Si estableces este valor, la ruta calculada no incluirá puntos de referencia que no sean via en las rutas que no sean adecuadas para puntos de partida y destino. Esta opción solo funciona para los medios de transporte DRIVE y TWO_WHEELER, y cuando location_type es location.

side_of_road

bool

Indica que la ubicación de este punto de referencia tiene preferencia para que el vehículo se detenga en un lado en particular de la ruta. Si estableces este valor, la ruta pasará por la ubicación para que el vehículo pueda detenerse en el lado de la ruta hacia el que se segmenta la ubicación desde el centro de la ruta. Esta opción solo funciona para 'Drive'. y "TWO_WHEELER" medios de transporte y cuando el campo 'location_type' esté establecido en "ubicación".

Campo de unión location_type. Diferentes maneras de representar una ubicación. Las direcciones (location_type) solo pueden ser una de las siguientes opciones:
location

Location

Es un punto que se especifica mediante coordenadas geográficas y que incluye una orientación opcional.

place_id

string

Es el ID del lugar de interés asociado con el punto de referencia.