Solicitud y respuesta de la API de Distance Matrix (heredada)

Desarrolladores del Espacio Económico Europeo (EEE)

Introducción

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

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

En el ejemplo anterior, outputFormat puede ser cualquiera de los siguientes valores:

  • json (recomendado) indica el resultado en notación de objetos de 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

  • destinations

    Indica una o más ubicaciones que se usarán como punto de llegada para calcular la distancia y la duración del 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 ID de lugar, 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 recomienda usar IDs de lugar en lugar de direcciones o coordenadas de latitud y longitud. Si usas coordenadas, el punto siempre se ajustará 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 de forma rápida o segura al destino. 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 recomienda pasar un ID de lugar. Si pasas coordenadas, asegúrate de que no haya espacio entre los valores de latitud y longitud.
    • Los Plus Codes deben tener el formato de un código global o un código compuesto. Asigna un formato a los Plus Codes como se muestra aquí (los signos más se escapan en la URL como %2B y los espacios se escapan en la URL como %20):
      • El código global es 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).
      • compound code: 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 codificado de coordenadas 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 estar seguidas 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 rutas en 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 debe especificarse como un número entero.

  • evitar

    Pueden calcularse distancias de modo que se ajusten a ciertas restricciones. Las restricciones se indican mediante 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, para la ruta calculada, deben evitarse los pasos en interiores en 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 pasando ambas restricciones al parámetro avoid. Por ejemplo: avoid=tolls|highways|ferries.

    Nota: La adición de restricciones no impide que se muestren rutas que incluyan 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 al 31 de diciembre de 9999 a las 23:59:59.999999999Z, la API recurrirá al departure_time del 31 de diciembre de 9999 a las 23:59:59.999999999Z. Como alternativa, puedes especificar un valor de now, que establece la hora de salida en la hora actual (con precisión de un segundo). La hora de partida se puede especificar en dos casos:

    • Para las solicitudes en las que el medio de transporte es público, puedes especificar de manera opcional departure_time o arrival_time. Si no se especifica ninguna hora, el valor predeterminado de departure_time es ahora (es decir, la hora de salida se establece de forma predeterminada en la hora actual).
    • En las solicitudes en las que el medio de transporte 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 de tráfico promedio y la naturaleza distribuida del servicio. Los resultados también pueden variar entre rutas muy similares en cualquier momento o con cualquier frecuencia.
    Nota: Las solicitudes de matriz de distancia 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 devolverán los resultados.

    • Consulta la lista de idiomas disponibles. Google suele actualizar 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, como se especifica 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 locales. Para lograr ese objetivo, devuelve direcciones en el idioma local, transliteradas a una escritura legible por el usuario si es necesario, respetando 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 mostrar y en el orden en que se muestran. 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 rutas, puedes especificar el medio de transporte que se usará. De forma predeterminada, se usa el modo DRIVING. De forma predeterminada, las rutas se calculan como rutas en auto. Se admiten los siguientes medios de transporte:

    • driving (predeterminado) indica la ruta en auto o la distancia estándar por la red de rutas.
    • walking solicita instrucciones sobre cómo llegar a un lugar a pie o la distancia a través de rutas peatonales y veredas (cuando estén disponibles).
    • bicycling solicita rutas en bicicleta o la distancia por ciclovías y calles preferidas (cuando estén disponibles).
    • transit solicita instrucciones sobre cómo llegar a un lugar o la distancia por medio de rutas de transporte público (cuando estén disponibles). Si configuras el modo como transporte público, puedes especificar de manera opcional un valor para departure_time o arrival_time. Si no se especifica ninguna hora, el valor predeterminado de departure_time es ahora (es decir, la hora de salida predeterminada es la hora actual). También puedes incluir un transit_mode o un transit_routing_preference de manera opcional.
    Nota: Es posible que las instrucciones sobre cómo llegar a pie y las rutas en bicicleta a veces no incluyan rutas peatonales o ciclovías claras, por lo que estas instrucciones mostrarán advertencias en el resultado que se muestra, que debes mostrar al usuario.
    Nota: Los viajes en transporte público están disponibles para un máximo de 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 que proporcionen los proveedores de datos. Los horarios del transporte público cambian con frecuencia, los viajes disponibles pueden variar 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 ccTLD ("dominio de nivel superior") de dos caracteres. La mayoría de los códigos 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 "Reino Unido de Gran Bretaña e Irlanda del Norte").

  • traffic_model

    Especifica las suposiciones que se usarán cuando se calcule el tiempo en el tráfico. Este parámetro de configuración afecta el valor que se muestra en el campo 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 el valor de duration_in_traffic que se muestra debe ser la mejor estimación de la duración del viaje según lo que se conoce sobre las condiciones de tráfico histórico y 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 el valor de duration_in_traffic que se muestra debe ser mayor que la duración del 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 el valor de duration_in_traffic que se muestra debe ser menor que la duración del viaje real en 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 de la duración del viaje de best_guess sea más corta que la de optimistic o, por el contrario, más larga que la de pessimistic, debido a la forma en que el modelo predictivo 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 en 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 rutas en 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: Esta 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 Plus Codes 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 sobre el 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 matriz de distancia):

  • 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 matriz de distancia para obtener las distancias de conducción entre Boston, MA, o Charlestown, MA, y Lexington, MA, y Concord, MA. La solicitud incluye una hora de salida, lo que cumple con todos los requisitos para devolver el campo duration_in_traffic en la respuesta de matriz de distancia.

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. Para ello, usa el modificador side_of_road para especificar qué lado de la ruta usar o especifica un rumbo para indicar la dirección correcta del viaje.

Especifica que las rutas calculadas deben pasar por un lado particular 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 con 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 desvió el punto de referencia:

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 usas side_of_road: con polilíneas codificadas, el modificador se aplica a cada ubicación de la polilínea. Por ejemplo, los dos destinos de esta solicitud usan el 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:

  • El parámetro mode de viaje es driving o no se especifica (driving es el modo de viaje predeterminado).

Especifica que las rutas calculadas deben tener un rumbo particular

Cuando especificas una ubicación, puedes solicitar que la ruta calculada pase por la ubicación en una orientación en particular. Este encabezado se especifica con el prefijo heading=X:, en el que X es un valor de grado entero entre 0 (inclusive) y 360 (exclusivo). 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, gira en U:

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 estas restricciones:

  • El parámetro mode de viaje es driving, bicycling o no se especifica (driving es el modo de viaje predeterminado).
  • No se especifica el modificador side_of_road 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 matriz de distancia

A continuación, se muestra una solicitud HTTP de ejemplo, en la que se solicita la distancia y la duración desde Vancouver, BC, Canadá, y desde Seattle, WA, EE.UU., hasta San Francisco, CA, EE.UU., y hasta Victoria, BC, 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 devuelven en filas, cada una de las cuales 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
    1 712 km
   
  
  
   OK
   
    24567
    6 heures 49 minutes
   
   
    139695
    140 km
   
  
 
 
  
   OK
   
    266680
    3 jours 2 heures
   
   
    1451704
    1 452 km
   
  
  
   OK
   
    10374
    2 heures 53 minutes
   
   
    146500
    146 km
   
  
 

DistanceMatrixResponse

Campo Obligatorio Tipo Descripción
required Array<string>

Es un array de direcciones que devuelve la API 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 Array<string>

Es un array de direcciones que devuelve la API de tu solicitud original. El geocodificador les asigna un 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 Array<DistanceMatrixRow>

Es un array de elementos, cada uno de los cuales contiene 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 por humanos de los errores que se encontraron mientras se procesaba la solicitud.

DistanceMatrixStatus

Códigos de estado que devuelve el servicio.

  • OK indica que la respuesta contiene un resultado válido.
  • INVALID_REQUEST indica que la solicitud proporcionada no era válida.
  • MAX_ELEMENTS_EXCEEDED indica que el producto de los orígenes y destinos supera el límite por consulta.
  • MAX_DIMENSIONS_EXCEEDED indica que la cantidad de orígenes o destinos supera el límite por consulta.
  • OVER_DAILY_LIMIT indica cualquiera de los siguientes elementos:
    • 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, una tarjeta de crédito venció).
  • 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 Matriz de distancia en tu aplicación.
  • UNKNOWN_ERROR indica que no se pudo procesar una solicitud de matriz de distancia debido a un error de 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 devuelven resultados (como cuando los orígenes o destinos no existen), se devuelve un array vacío.

Las filas se ordenan según los valores del parámetro origin de la solicitud. Cada fila corresponde a un origen, y cada elemento dentro de esa fila corresponde a una vinculación 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 una sola vinculación de origen y destino.

Consulta DistanceMatrixElement para obtener más información.

DistanceMatrixElement

Campo Obligatorio Tipo Descripción
required DistanceMatrixElementStatus

Un estado para el elemento.

Consulta DistanceMatrixElementStatus para obtener más información.

opcional TextValueObject

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

Consulta TextValueObject para obtener más información.

opcional TextValueObject

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

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 que se muestra sea optimista, pesimista o una estimación aproximada. La duración se expresa en segundos (el campo value) y como texto. La representación textual se localiza según el parámetro de idioma de la consulta. La duración en el tráfico solo se devuelve si se cumplen todas las condiciones que se indican a continuación:

  • 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, los costos totales de los pasajes) de esta ruta. Esta propiedad se muestra solo 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 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 expresado 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.