Solicitud y respuesta a la API de Distance Matrix

Desarrolladores del Espacio Económico Europeo (EEE)

Introducción

Una solicitud a la API de Distance Matrix tiene el siguiente formato:

https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters

donde outputFormat puede ser cualquiera de los siguientes valores:

  • json (recomendado) indica el resultado en notación de objetos JavaScript (JSON).
  • xml indica que el resultado es XML.

Algunos parámetros son obligatorios y otros son opcionales. Tal como es práctica estándar para las URLs, todos los parámetros se separan usando el signo et (&). Todos los caracteres reservados (por ejemplo, el signo más "+") deben estar codificados como URL. A continuación, se enumeran los parámetros y sus valores posibles.

Parámetros obligatorios

  • destinos

    Una o más ubicaciones para usar como punto final para calcular la distancia y el tiempo de viaje. Las opciones para el parámetro destinations son las mismas que para el parámetro origins.

  • orígenes

    Es el punto de partida para calcular la distancia y el tiempo de viaje. Puedes proporcionar una o más ubicaciones separadas por el carácter de barra vertical (|), en forma de un ID de lugar, una dirección o coordenadas de latitud y longitud:

    • ID de lugar: Si proporcionas un ID de lugar, debes agregarle el prefijo place_id:.
    • Dirección: Si pasas una dirección, el servicio geocodifica la cadena y la convierte en una coordenada de latitud y longitud para calcular la distancia. Esta coordenada puede ser diferente de la que devuelve la API de Geocoding, por ejemplo, la entrada de un edificio en lugar de su centro.
      Nota: Se prefiere usar IDs de lugar en lugar de direcciones o coordenadas de latitud y longitud. El uso de coordenadas siempre hará que el punto se ajuste a la ruta más cercana a esas coordenadas, que puede no ser un punto de acceso a la propiedad o incluso una ruta que lleve al destino de forma rápida o segura. Si usas la dirección, se proporcionará la distancia al centro del edificio, en lugar de a una entrada.
    • Coordenadas: Si pasas coordenadas de latitud y longitud, se ajustarán a la ruta más cercana. Se prefiere pasar un ID de lugar. Si pasas coordenadas, asegúrate de que no haya espacios entre los valores de latitud y longitud.
    • Los Plus Codes deben tener el formato de un código global o un código compuesto. Formatea los códigos plus como se muestra aquí (para utilizarlos en la URL, los signos más se convierten (se escapan) en %2B y los espacios en %20):
      • Un código global se compone de un código de área de 4 caracteres y un código local de 6 caracteres o más (849VCWC8+R9 se codifica como 849VCWC8%2BR9).
      • Un código compuesto es un código local de 6 caracteres o más con una ubicación explícita (CWC8+R9 Mountain View, CA, USA se codifica como CWC8%2BR9%20Mountain%20View%20CA%20USA).
    • Polilínea codificada: Como alternativa, puedes proporcionar un conjunto de coordenadas codificadas con el algoritmo de polilínea codificada. Esto es particularmente útil si tienes una gran cantidad de puntos de origen, ya que la URL es mucho más corta cuando se usa una polilínea codificada.
      • Las polilíneas codificadas deben tener el prefijo enc: y, luego, un signo de dos puntos :. Por ejemplo: origins=enc:gfo}EtohhU:
      • También puedes incluir varias polilíneas codificadas, separadas por el carácter de barra vertical |. Por ejemplo:
        origins=enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:|enc:udymA{~bxM:
        

Parámetros opcionales

  • arrival_time

    Especifica la hora de llegada preferida para las indicaciones de transporte público, en segundos desde la medianoche del 1 de enero de 1970 (UTC). Puedes especificar departure_time o arrival_time, pero no ambos. Ten en cuenta que arrival_time se debe especificar como un número entero.

  • evitar

    Pueden calcularse distancias de modo que se ajusten a ciertas restricciones. Las restricciones se indican con el uso del parámetro avoid y un argumento para ese parámetro que indica la restricción que se debe evitar. Se admiten las siguientes restricciones:

    • tolls indica que la ruta calculada debe evitar las rutas o los puentes con peaje.
    • highways indica que la ruta calculada debe evitar las autopistas.
    • ferries indica que la ruta calculada debe evitar los transbordadores.
    • indoor indica que la ruta calculada debe evitar los pasos en interiores para las instrucciones sobre cómo llegar a pie y en transporte público.

    Es posible solicitar una ruta que evite cualquier combinación de peajes, autopistas y ferris si pasas ambas restricciones al parámetro avoid. Por ejemplo: avoid=tolls|highways|ferries.

    Nota: La adición de restricciones no impide las rutas que incluyen la función restringida, sino que sesga el resultado hacia rutas más favorables.
  • departure_time

    Especifica la hora de salida preferida. Puedes especificar la hora como un número entero en segundos desde la medianoche del 1 de enero de 1970 UTC. Si se especifica un departure_time posterior a 9999-12-31T23:59:59.999999999Z, la API volverá a usar 9999-12-31T23:59:59.999999999Z como departure_time. Como alternativa, puedes especificar el valor now, que establece la hora de partida en la hora actual (correcta hasta el segundo más cercano). La hora de partida se puede especificar en dos casos:

    • Para las solicitudes en las que el modo de viaje es transporte público, puedes especificar de forma opcional uno de los valores departure_time o arrival_time. Si no se especifica ninguna hora, el valor predeterminado de departure_time es ahora (es decir, la hora de partida predeterminada es la hora actual).
    • Para las solicitudes en las que el modo de viaje es en automóvil, puedes especificar el parámetro departure_time para recibir una ruta y una duración del viaje (campo de respuesta: duration_in_traffic) que tengan en cuenta las condiciones de tráfico. departure_time se debe establecer en la hora actual o en un horario futuro. No puede ser un horario pasado.
    Nota: Si no se especifica la hora de salida, la elección de la ruta y la duración se basan en la red de rutas y las condiciones de tráfico promedio independientemente del tiempo. Los resultados de una solicitud determinada pueden variar con el tiempo debido a cambios en la red de rutas, actualizaciones de las condiciones promedio de tráfico y la naturaleza distribuida del servicio. Los resultados también pueden variar entre rutas casi equivalentes en cualquier momento o con cualquier frecuencia.
    Nota: Las solicitudes de Distance Matrix que especifican departure_time cuando mode=driving se limitan a un máximo de 100 elementos por solicitud. La cantidad de orígenes multiplicada por la cantidad de destinos define la cantidad de elementos.
  • idioma

    Es el idioma en el que se mostrarán los resultados.

    • Consulta la lista de idiomas admitidos. Google actualiza con frecuencia los idiomas admitidos, por lo que es posible que esta lista no sea exhaustiva.
    • Si no se proporciona language, la API intenta usar el idioma preferido especificado en el encabezado Accept-Language.
    • La API hace todo lo posible para proporcionar una dirección que sea legible tanto para el usuario como para los residentes locales. Para lograr ese objetivo, devuelve direcciones de calles en el idioma local, transliteradas a una escritura que el usuario pueda leer si es necesario, y observa el idioma preferido. Todas las demás direcciones se devuelven en el idioma preferido. Todos los componentes de la dirección se devuelven en el mismo idioma, que se elige a partir del primer componente.
    • Si un nombre no está disponible en el idioma preferido, la API usa la coincidencia más cercana.
    • El idioma preferido tiene una pequeña influencia en el conjunto de resultados que la API elige devolver y en el orden en que se devuelven. El geocodificador interpreta las abreviaturas de manera diferente según el idioma, como las abreviaturas de los tipos de calles o los sinónimos que pueden ser válidos en un idioma, pero no en otro. Por ejemplo, utca y tér son sinónimos de calle en húngaro.
  • Standard

    Para el cálculo de distancias y direcciones, puedes especificar el medio de transporte que se usará. De forma predeterminada, se usa el modo DRIVING. De forma predeterminada, las instrucciones se calculan como instrucciones para conducir. Se admiten los siguientes medios de transporte:

    • driving (predeterminado) indica la ruta en auto estándar o la distancia por la red de rutas.
    • walking solicita instrucciones sobre cómo llegar a un lugar a pie o la distancia a pie por rutas peatonales y veredas (cuando estén disponibles).
    • bicycling solicita instrucciones o distancia para llegar en bicicleta por ciclovías y calles preferidas (cuando estén disponibles).
    • transit solicita instrucciones sobre cómo llegar o la distancia usando rutas de transporte público (cuando estén disponibles). Si estableces el modo en transporte público, puedes especificar de forma opcional un departure_time o un arrival_time. Si no se especifica ninguna hora, departure_time se establece de forma predeterminada en ahora (es decir, la hora de partida se establece de forma predeterminada en la hora actual). También puedes incluir de forma opcional un transit_mode o un transit_routing_preference.
    Nota: Es posible que, en ocasiones, las instrucciones sobre cómo llegar a pie o en bicicleta no incluyan rutas peatonales o para bicicletas claras, por lo que estas instrucciones mostrarán advertencias en el resultado que se debe mostrar al usuario.
    Nota: Los viajes en transporte público están disponibles hasta 7 días en el pasado o hasta 100 días en el futuro, según la disponibilidad de la información de transporte público proporcionada por los proveedores de datos. Los horarios de transporte público cambian con frecuencia, los viajes en transporte público disponibles pueden cambiar con el tiempo y no se garantiza que se proporcionen resultados coherentes para las predicciones con mucha anticipación.
  • región

    Es el código de región, especificado como un valor de dos caracteres del ccTLD ("dominio de nivel superior"). La mayoría de los códigos de ccTLD son idénticos a los códigos ISO 3166-1, con algunas excepciones notables. Por ejemplo, el ccTLD del Reino Unido es "uk" (.co.uk), mientras que su código ISO 3166-1 es "gb" (técnicamente para la entidad de "El Reino Unido de Gran Bretaña e Irlanda del Norte").

  • traffic_model

    Especifica las suposiciones que se deben usar cuando se calcula el tiempo en el tráfico. Este parámetro de configuración afecta el valor que se muestra en el campo duration_in_traffic de la respuesta, que contiene el tiempo previsto en el tráfico según los promedios históricos. El parámetro traffic_model solo se puede especificar para las rutas en auto en las que la solicitud incluye un departure_time. Los valores disponibles para este parámetro son los siguientes:

    • best_guess (predeterminado) indica que la duración en el tráfico que se muestra debe ser la mejor estimación del tiempo de viaje según lo que se conoce sobre las condiciones del tráfico histórico y el tráfico en tiempo real. Cuanto más se acerque el valor de departure_time al momento presente, más importancia cobrará el tráfico en tiempo real.
    • pessimistic indica que la duración_en_tráfico que se muestra debe ser mayor que el tiempo de viaje real la mayoría de los días; no obstante, es posible que se supere este valor determinados días en que las condiciones de tráfico son particularmente desfavorables.
    • optimistic indica que la duración en el tráfico que se devuelve debe ser menor que el tiempo de viaje real la mayoría de los días, aunque puede llegar a ser aún más corto en determinados días en que las condiciones de tráfico sean particularmente buenas.

    El valor predeterminado de best_guess proporcionará las predicciones más útiles para la gran mayoría de los casos de uso. Es posible que la predicción del tiempo de viaje de best_guess sea más corta que la de optimistic o, de lo contrario, más larga que la de pessimistic, debido a la forma en que el modelo de predicción de best_guess integra la información del tráfico en tiempo real.

  • transit_mode

    Especifica uno o más medios de transporte público preferidos. Este parámetro solo se puede especificar para las rutas en transporte público. El parámetro admite los siguientes argumentos:

    • bus indica que, para la ruta calculada, debe priorizarse el transporte en autobús.
    • subway indica que, para la ruta calculada, debe priorizarse el transporte en metro.
    • train indica que, para la ruta calculada, debe priorizarse el transporte en tren.
    • tram indica que, para la ruta calculada, debe priorizarse el transporte en tranvía y tren ligero.
    • rail indica que, para la ruta calculada, debe priorizarse el transporte en tren, tranvía, tren ligero y metro. Esto equivale a transit_mode=train|tram|subway.
  • transit_routing_preference

    Especifica las preferencias para las rutas de transporte público. Con este parámetro, puedes personalizar las opciones que se muestran en lugar de aceptar la mejor ruta predeterminada que selecciona la API. Este parámetro solo se puede especificar para las indicaciones de transporte público. Este parámetro admite los siguientes argumentos:

    • less_walking indica que, para la ruta calculada, debe priorizarse una distancia limitada de recorrido a pie.
    • fewer_transfers indica que, para la ruta calculada, debe priorizarse una cantidad limitada de transbordos.
  • unidades

    Especifica el sistema de unidades que se usará cuando se muestren los resultados.

    Nota: Este parámetro de configuración del sistema de unidades solo afecta el texto que se muestra en los campos de distancia. Los campos de distancia también contienen valores que siempre se expresan en metros.

Ejemplos de solicitudes

En este ejemplo, se usan coordenadas de latitud y longitud para especificar las coordenadas de destino:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626
  &origins=40.6655101%2C-73.89188969999998
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626&key=YOUR_API_KEY'

En este ejemplo, se usan códigos plus para especificar las coordenadas de destino:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=San%20Francisco
  &origins=849VCWC8%2BR9
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=849VCWC8%2BR9&destinations=San%20Francisco&key=YOUR_API_KEY'

En este ejemplo, se muestra la misma solicitud con una polilínea codificada:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A
  &origins=40.6655101%2C-73.89188969999998
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A&key=YOUR_API_KEY'

Información del tráfico

La información sobre el tráfico se usa cuando se aplican todas las condiciones siguientes (las cuales son necesarias para recibir el campo duration_in_traffic en la respuesta de Distance Matrix):

  • El parámetro mode de viaje es driving o no se especifica (driving es el modo de viaje predeterminado).
  • La solicitud incluye un parámetro departure_time válido. departure_time se puede establecer en la hora actual o en un horario futuro. No puede ser un horario pasado.

De manera opcional, puedes incluir el parámetro traffic_model en tu solicitud para especificar las suposiciones que se usarán cuando se calcule el tiempo en el tráfico.

La siguiente URL inicia una solicitud de Distance Matrix para obtener las distancias en automóvil entre Boston, MA o Charlestown, MA, y Lexington, MA y Concord, MA. La solicitud incluye una hora de partida, lo que cumple con todos los requisitos para devolver el campo duration_in_traffic en la respuesta de Distance Matrix.

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?departure_time=now
  &destinations=Lexington%2CMA%7CConcord%2CMA
  &origins=Boston%2CMA%7CCharlestown%2CMA
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Boston%2CMA%7CCharlestown%2CMA&destinations=Lexington%2CMA%7CConcord%2CMA&departure_time=now&key=YOUR_API_KEY'

JSON

{
  "destination_addresses": ["Lexington, MA, USA", "Concord, MA, USA"],
  "origin_addresses": ["Boston, MA, USA", "Charlestown, Boston, MA, USA"],
  "rows":
    [
      {
        "elements":
          [
            {
              "distance": { "text": "33.3 km", "value": 33253 },
              "duration": { "text": "27 mins", "value": 1620 },
              "duration_in_traffic": { "text": "34 mins", "value": 2019 },
              "status": "OK",
            },
            {
              "distance": { "text": "41.5 km", "value": 41491 },
              "duration": { "text": "33 mins", "value": 1981 },
              "duration_in_traffic": { "text": "39 mins", "value": 2342 },
              "status": "OK",
            },
          ],
      },
      {
        "elements":
          [
            {
              "distance": { "text": "31.1 km", "value": 31100 },
              "duration": { "text": "26 mins", "value": 1543 },
              "duration_in_traffic": { "text": "29 mins", "value": 1754 },
              "status": "OK",
            },
            {
              "distance": { "text": "39.3 km", "value": 39338 },
              "duration": { "text": "32 mins", "value": 1904 },
              "duration_in_traffic": { "text": "35 mins", "value": 2077 },
              "status": "OK",
            },
          ],
      },
    ],
  "status": "OK",
}

XML


 OK
 Boston, MA, USA
 Charlestown, Boston, MA, USA
 Lexington, MA, USA
 Concord, MA, USA
 
  
   OK
   
    1620
    27 mins
   
   
    33253
    33.3 km
   
   
    2018
    34 mins
   
  
  
   OK
   
    1981
    33 mins
   
   
    41491
    41.5 km
   
   
    2342
    39 mins
   
  
 
 
  
   OK
   
    1543
    26 mins
   
   
    31100
    31.1 km
   
   
    1759
    29 mins
   
  
  
   OK
   
    1904
    32 mins
   
   
    39338
    39.3 km
   
   
    2077
    35 mins
   
  
 

Modificadores de ubicación

Puedes usar modificadores de ubicación para indicar cómo los conductores deberían acercarse a una ubicación en particular, con el modificador side_of_road para especificar qué lado de la ruta usar o con un rumbo para indicar la dirección correcta de viaje.

Especifica que las rutas calculadas deben pasar por un lado determinado de la ruta

Cuando especificas una ubicación, puedes solicitar que la ruta calculada pase por el lado de la ruta hacia el que se inclina el punto de referencia usando el prefijo side_of_road:. Por ejemplo, esta solicitud devolverá la distancia de una ruta larga para que el vehículo termine en el lado de la ruta hacia el que se sesgó el waypoint:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=side_of_road%3A37.7663444%2C-122.4412006
  &origins=37.7680296%2C-122.4375126
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=37.7680296%2C-122.4375126&destinations=side_of_road%3A37.7663444%2C-122.4412006&key=YOUR_API_KEY'

Cuando se usa side_of_road: con polilíneas codificadas, el modificador se aplica a cada ubicación a lo largo de la polilínea. Por ejemplo, los dos destinos de esta solicitud usan el siguiente parámetro:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A
  &origins=San%20Francisco%20City%20hall
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=San%20Francisco%20City%20hall&destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A&key=YOUR_API_KEY'

El modificador side_of_road: solo se puede usar con esta restricción:

Especifica que las rutas calculadas deben tener un rumbo en particular

Cuando especificas una ubicación, puedes solicitar que la ruta calculada pase por la ubicación en una orientación particular. Este encabezado se especifica con el prefijo heading=X:, donde X es un valor de grado entero entre 0 (inclusive) y 360 (exclusive). Un rumbo de 0 indica el norte, 90 indica el este y así sucesivamente en el sentido de las manecillas del reloj. Por ejemplo, en esta solicitud, la ruta calculada va hacia el este desde el origen y, luego, hace un cambio de sentido:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=37.773245%2C-122.469502
  &origins=heading%3D90%3A37.773279%2C-122.468780
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=heading%3D90%3A37.773279%2C-122.468780&destinations=37.773245%2C-122.469502&key=YOUR_API_KEY'

El modificador heading=X: solo se puede usar con las siguientes restricciones:

  • El parámetro mode de viaje es driving, bicycling o no se especifica (driving es el modo de viaje predeterminado).
  • El modificador side_of_road no se especifica para la misma ubicación.
  • La ubicación se especifica con un valor de latitud y longitud. No puedes usar heading con direcciones, IDs de lugar ni polilíneas codificadas.

Solicitudes y respuestas de Distance Matrix

A continuación, se muestra una solicitud HTTP de ejemplo en la que se solicitan la distancia y la duración desde Vancouver, Columbia Británica, Canadá y desde Seattle, Washington, EE.UU., hasta San Francisco, California, EE.UU., y hasta Victoria, Columbia Británica, Canadá.

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=San%20Francisco%7CVictoria%20BC
  &language=fr-FR
  &mode=bicycling
  &origins=Vancouver%20BC%7CSeattle
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver%20BC%7CSeattle&destinations=San%20Francisco%7CVictoria%20BC&mode=bicycling&language=fr-FR&key=YOUR_API_KEY'

Esta solicitud devolverá cuatro elementos: dos horarios para los orígenes y dos destinos:

De Vancouver a San Francisco De Vancouver a Victoria
De Seattle a San Francisco De Seattle a Victoria

Los resultados se muestran en filas, y cada fila contiene un origen vinculado con cada destino.

JSON

{
  "destination_addresses":
    ["San Francisco, Californie, États-Unis", "Victoria, BC, Canada"],
  "origin_addresses":
    ["Vancouver, BC, Canada", "Seattle, Washington, États-Unis"],
  "rows":
    [
      {
        "elements":
          [
            {
              "distance": { "text": "1 712 km", "value": 1711765 },
              "duration": { "text": "3 jours 16 heures", "value": 318119 },
              "status": "OK",
            },
            {
              "distance": { "text": "140 km", "value": 139695 },
              "duration": { "text": "6 heures 49 minutes", "value": 24567 },
              "status": "OK",
            },
          ],
      },
      {
        "elements":
          [
            {
              "distance": { "text": "1 452 km", "value": 1451704 },
              "duration": { "text": "3 jours 2 heures", "value": 266680 },
              "status": "OK",
            },
            {
              "distance": { "text": "146 km", "value": 146500 },
              "duration": { "text": "2 heures 53 minutes", "value": 10374 },
              "status": "OK",
            },
          ],
      },
    ],
  "status": "OK",
}

XML


 OK
 Vancouver, BC, Canada
 Seattle, Washington, États-Unis
 San Francisco, Californie, États-Unis
 Victoria, BC, Canada
 
  
   OK
   
    318119
    3 jours 16 heures
   
   
    1711765
    1712 km
   
  
  
   OK
   
    24567
    6 heures 49 minutes
   
   
    139695
    140 km
   
  
 
 
  
   OK
   
    266680
    3 jours 2 heures
   
   
    1451704
    1452 km
   
  
  
   OK
   
    10374
    2 heures 53 minutes
   
   
    146500
    146 km
   
  
 

DistanceMatrixResponse

Campo Obligatorio Tipo Descripción
required Arreglo<cadena>

Es un array de direcciones que la API devolvió a partir de tu solicitud original. Al igual que con origin_addresses, estos se localizan si corresponde. Este contenido se debe leer tal como está. No analices las direcciones con formato de manera programática.

required Arreglo<cadena>

Es un array de direcciones que la API devolvió a partir de tu solicitud original. El geocodificador les da formato y las localiza según el parámetro de idioma que se pasa con la solicitud. Este contenido se debe leer tal como está. No analices las direcciones con formato de manera programática.

required Arreglo<DistanceMatrixRow>

Es un array de elementos que, a su vez, contienen un elemento status, duration y distance.

Consulta DistanceMatrixRow para obtener más información.

required DistanceMatrixStatus

Contiene el estado de la solicitud y puede incluir información de depuración para ayudarte a identificar el motivo del error en la solicitud.

Consulta DistanceMatrixStatus para obtener más información.

opcional string

Es una cadena que contiene el texto legible de cualquier error que se haya producido durante el procesamiento de la solicitud.

DistanceMatrixStatus

Son los códigos de estado que muestra el servicio.

  • OK indica que la respuesta contiene un resultado válido.
  • INVALID_REQUEST indica que la solicitud proporcionada no es válida.
  • MAX_ELEMENTS_EXCEEDED indica que el producto de los orígenes y los destinos supera el límite por consulta.
  • MAX_DIMENSIONS_EXCEEDED indica que la cantidad de orígenes o destinos supera el límite por búsqueda.
  • OVER_DAILY_LIMIT indica cualquiera de las siguientes opciones:
    • Falta la clave de API o no es válida.
    • No se habilitó la facturación en tu cuenta.
    • Se superó un límite de uso autoimpuesto.
    • La forma de pago proporcionada ya no es válida (por ejemplo, si venció una tarjeta de crédito).
  • OVER_QUERY_LIMIT indica que el servicio recibió demasiadas solicitudes de tu aplicación dentro del período permitido.
  • REQUEST_DENIED indica que el servicio rechazó el uso del servicio Distance Matrix en tu aplicación.
  • UNKNOWN_ERROR indica que no se pudo procesar una solicitud de Distance Matrix debido a un error del servidor. La solicitud podría completarse si realizas un nuevo intento.

DistanceMatrixRow

Campo Obligatorio Tipo Descripción
required Array<DistanceMatrixElement>

Cuando la API de Distance Matrix devuelve resultados, los coloca dentro de un array de filas JSON. Incluso si no se muestran resultados (por ejemplo, cuando no existen los orígenes o los destinos), se devuelve un array vacío.

Las filas se ordenan según los valores del parámetro de origen de la solicitud. Cada fila corresponde a un origen, y cada elemento dentro de esa fila corresponde a un par del origen con un valor de destino.

Cada array de filas contiene una o más entradas de elementos, que a su vez contienen la información sobre un solo par origen-destino.

Consulta DistanceMatrixElement para obtener más información.

DistanceMatrixElement

Campo Obligatorio Tipo Descripción
required DistanceMatrixElementStatus

Es un estado del elemento.

Consulta DistanceMatrixElementStatus para obtener más información.

opcional TextValueObject

Es la distancia total de esta ruta, expresada en metros (valor) y como texto. El valor textual usa el sistema de unidades especificado con el parámetro de unidad de la solicitud original o la región de origen.

Consulta TextValueObject para obtener más información.

opcional TextValueObject

Es el tiempo que se demora en recorrer esta ruta, expresado en segundos (el campo de valor) y como texto. La representación textual se localiza según el parámetro de idioma de la búsqueda.

Consulta TextValueObject para obtener más información.

opcional TextValueObject

Es el tiempo que se tarda en recorrer esta ruta, según las condiciones de tráfico actuales e históricas. Consulta el parámetro de solicitud traffic_model para conocer las opciones que puedes usar para solicitar que el valor devuelto sea optimista, pesimista o una estimación aproximada. La duración se expresa en segundos (el campo de valor) y como texto. La representación textual se localiza según el parámetro de idioma de la búsqueda. La duración en el tráfico solo se devuelve si se cumplen todas las siguientes condiciones:

  • La solicitud incluye un parámetro departure_time.
  • Las condiciones del tráfico están disponibles para la ruta solicitada.
  • El parámetro mode se establece en driving.

Consulta TextValueObject para obtener más información.

opcional Tarifa

Si está presente, contiene la tarifa total (es decir, el costo total de los pasajes) de esta ruta. Esta propiedad solo se muestra para las solicitudes de transporte público y para los proveedores de transporte público que disponen de información sobre las tarifas.

Consulta Tarifa para obtener más información.

Fare

Es la tarifa total de la ruta.

{
  "currency" : "USD",
  "value" : 6,
  "text" : "$6.00"
}
Campo Obligatorio Tipo Descripción
required string

Es un código de moneda según ISO 4217 que indica la moneda en la que se expresa el importe.

required string

monto total con formato en el idioma solicitado.

required número

Es el importe total de la tarifa en la moneda especificada.

DistanceMatrixElementStatus

  • OK indica que la respuesta contiene un resultado válido.
  • NOT_FOUND indica que no se pudo geocodificar el origen o el destino de este par.
  • ZERO_RESULTS indica que no se encontró ninguna ruta entre el origen y el destino.
  • MAX_ROUTE_LENGTH_EXCEEDED indica que la ruta solicitada es demasiado larga y no se puede procesar.

TextValueObject

Es un objeto que contiene un valor numérico y su representación de texto con formato.

Campo Obligatorio Tipo Descripción
required string

Valor de string

required número

Es un valor numérico.