Este servicio también está disponible como parte de la Google Maps JavaScript API, o con las bibliotecas de cliente Java y Python.
Introducción
Google Maps Directions API es un servicio que calcula indicaciones entre ubicaciones usando una solicitud HTTP.
Este video ilustra el uso de Google Maps Directions API para ayudar a las personas a encontrar su camino. El video proporciona orientación sobre cómo crear conexiones proxy para el servicio web a través de tu servidor cuando estés usando la API en una aplicación web con el objetivo de proteger tu clave de API.
Puedes buscar indicaciones para diferentes medios de transporte, incluido transporte, manejo, desplazamiento a pie o en bicicleta. Las indicaciones pueden especificar sitios de origen, sitios de destino y waypoints ya sea en forma de cadenas de texto (p. ej., "Chicago, IL" o "Darwin, NT, Australia") o como coordenadas de latitud/longitud. La Directions API puede devolver indicaciones en múltiples partes mediante una serie de waypoints.
Este servicio generalmente está diseñado para calcular indicaciones para direcciones estáticas (ya conocidas) para la colocación de contenido de la aplicación en un mapa; este servicio no se diseñó para responder en tiempo real a las entradas del usuario, por ejemplo. Para el cálculo de indicaciones dinámicas (por ejemplo, dentro de un elemento de la interfaz de usuario), consulta la documentación para el Servicio de indicaciones de la Google Maps JavaScript API.
El cálculo de indicaciones es una tarea que consume tiempo y recursos. Siempre que sea posible, calcula direcciones conocidas con anticipación (usando el servicio que se describe aquí) y guarda tus resultados en un caché temporal de tu propio diseño.
Obtén una clave Límites de uso
Público
Este documento está orientado a desarrolladores de sitios web y móviles que quieren calcular datos de indicaciones dentro de mapas proporcionados por una de las Google Maps API. Proporciona una introducción al uso de la API y material de referencia acerca de los parámetros disponibles.
Solicitudes de indicaciones
Una solicitud de Google Maps Directions API debe respetar la siguiente forma:
https://maps.googleapis.com/maps/api/directions/output?parameters
donde output puede ser cualquiera de los siguientes valores:
json(recomendado) indica el formato de salida en JavaScript Object Notation (JSON).xmlindica el formato de salida como XML.
Para acceder a la Google Maps Directions API a través de HTTP, usa:
http://maps.googleapis.com/maps/api/directions/output?parameters
Se recomienda el uso de HTTPS para aplicaciones que incluyen en las solicitudes datos privados de los usuarios, como la ubicación de un usuario.
Las direcciones URL de la Google Maps Directions API están restringidas a aproximadamente 2000 caracteres, después de la codificación URL. Dado que algunas direcciones URL de Google Maps Directions API pueden contener muchas ubicaciones en la ruta de acceso, debes tener en cuenta este límite al construir tus direcciones URL.
Parámetros de la solicitud
Algunos parámetros son obligatorios y otros opcionales. Como es norma en las direcciones URL, todos los parámetros se separan con el carácter de Y comercial (&). A continuación, se proporciona una lista de los parámetros y sus posibles valores.
Parámetros obligatorios
origin: la dirección, el valor de latitud/longitud textual o el id. de sitio desde el que quieres calcular las indicaciones.- Si pasas una dirección en forma de cadena, el servicio de indicaciones geocodificará la cadena y la convertirá en una coordenada de latitud/longitud para calcular las indicaciones. Esa coordenada puede ser diferente de la que devuelve la Google Maps Geocoding API; por ejemplo, el ingreso a un edificio en lugar de su parte central.
- Si pasas coordenadas, se usarán sin modificaciones para calcular indicaciones. Asegúrate de que no haya espacios entre los valores de latitud y longitud.
- Los id. de sitio deben contener el prefijo
place_id:. El id. de sitio solo se puede especificar si la solicitud incluye una clave de API o un id. de cliente de Google Maps API for Work. Puedes recuperar id. de sitio en la Google Maps Geocoding API y la Google Places API (incluido el autocompletado de sitios). Para hallar un ejemplo en el que se usen los id. de sitio del servicio de autocompletado de sitios, consulta Autocompletado de sitios e indicaciones. Para obtener más información sobre los id. de sitio, consulta la información general sobre id. de sitio.
destination: la dirección, el valor de latitud/longitud textual o el id. de sitio hasta el que quieres calcular las indicaciones. Las opciones para el parámetrodestinationson las mismas que para el parámetrooriginantes descritos.key: la clave de API de tu aplicación. Esta clave identifica tu aplicación a los fines de la administración de la cuota. Infórmate acerca de cómo obtener una clave.
Nota: lo usuarios de Google Maps API for Work deben incluir parámetros client y signature válidos con sus solicitudes de indicaciones. Para obtener más información, consulta el capítulo Servicios web de Google Maps API for Work.
Parámetros opcionales
mode(el valor predeterminado esdriving): especifica el medio de transporte que se debe usar para calcular indicaciones. A continuación, en Medios de transporte se especifican valores válidos y otros detalles de la solicitud.waypoints: especifica una matriz de waypoints. Los waypoints modifican un trayecto haciendo que pase por las ubicaciones especificadas. Un waypoint se especifica como una coordenada de latitud/longitud, como un id. de sitio o como una dirección que se geocodificará. Los id. de sitio deben contener el prefijoplace_id:. El id. de sitio solo se puede especificar si la solicitud incluye una clave de API o un id. de cliente de Google Maps API for Work. Los waypoints solo se admiten para indicaciones de manejo, desplazamiento a pie y bicicleta. (Para obtener más información sobre waypoints, consulta Cómo usar waypoints en rutas a continuación).alternatives: cuando se fija en el valortrue, especifica que el servicio de indicaciones puede proporcionar más de una ruta alternativa en la respuesta. Ten en cuenta que proporcionar rutas alternativas puede aumentar el tiempo de respuesta del servidor.avoid: indica que las rutas calculadas deben evitar las características indicadas. Este parámetro admite los siguientes argumentos:tollsindica que la ruta calculada debe evitar calles y puentes con estaciones de peaje.highwaysindica que la ruta calculada debe evitar autopistas.ferriesindica que la ruta calculada debe evitar transbordadores (ferry).indoorindica que la ruta calculada debe evitar recorridos bajo techo en las indicaciones para desplazamiento a pie y transporte. Solo las solicitudes que incluyan una clave de API o un id. de cliente de Google Maps API for Work recibirán recorridos bajo techo de forma predeterminada.
language: especifica el idioma en el que se devolverán los resultados. Consulta la lista de idiomas de dominio admitidos. Ten en cuenta que, a menudo, actualizamos los idiomas admitidos, por lo que es posible que esta lista no esté completa. Si no se indica el parámetrolanguage, el servicio intentará utilizar el idioma nativo del dominio desde el que se envió la solicitud.units: especifica el sistema de unidades que se usará al mostrar los resultados. En Sistemas de unidades, a continuación, se especifican valores válidosregion: especifica el código de región, establecido como un valor ccTLD (“dominio de nivel superior”) de dos caracteres. (Para obtener más información, consulta Restricción por región a continuación).arrival_time: especifica la hora deseada de llegada para indicaciones de transporte, en segundos a partir de la medianoche del 1 de enero de 1970 UTC. Puedes especificardeparture_timeoarrival_time, pero no ambos. Ten en cuenta quearrival_timese debe especificar como un número entero.departure_time: especifica la hora deseada de partida. Puedes especificar la hora como un número entero en segundos a partir de la medianoche del 1 de enero de 1970, UTC. También puedes especificar un valor denow, que establece la hora de partida en la hora actual (ajustada al segundo más cercano). La hora de partida se puede especificar en dos casos:- Para solicitudes en las que el modo de desplazamiento es transporte: También puedes especificar
departure_timeoarrival_time. Si no especificas ninguno,departure_timeadoptará, de forma predeterminada, el valor de “now” (es decir, la hora de partida se establece en la hora actual). - Para solicitudes en las que el medio de transporte es manejo: Puedes especificar
departure_timepara recibir una ruta y la duración del viaje (campo de respuesta:duration_in_traffic), que considera las condiciones del tráfico. Esta opción solo está disponible si la solicitud contiene una clave de API válida, o un id. de cliente de Google Maps API for Work y una firma. El valor dedeparture_timese debe establecer en la hora actual o en alguna hora futura. No puede ser un horario pasado.
- Para solicitudes en las que el modo de desplazamiento es transporte: También puedes especificar
traffic_model(el valor predeterminado esbest_guess): especifica las suposiciones que deben aplicarse al calcular el tiempo con tráfico. Esta configuración afecta el valor devuelto en el campoduration_in_trafficen la respuesta, que contiene el tiempo previsto en el tráfico según promedios históricos. El parámetrotraffic_modelsolo se puede especificar para indicaciones de manejo cuya solicitud incluyadeparture_time, y solo si la solicitud incluye una clave de API o un id. de cliente de Google Maps API for Work. Los valores disponibles para este parámetro son:best_guess(predeterminado) indica que el valorduration_in_trafficdevuelto debe ser el mejor cálculo en términos de tiempo de viaje a partir de lo que se conoce sobre las condiciones históricas del tráfico y el tráfico en tiempo real. El tráfico en tiempo real cobra importancia a medida que el valordeparture_timese acerca a la hora actual.pessimisticindica que el valorduration_in_trafficdevuelto debe ser superior al tiempo de viaje real en la mayoría de los días. Sin embargo, este valor puede ser inferior al tiempo de viaje real en ciertos días en que las condiciones de tráfico son particularmente desfavorables.optimisticindica que el valorduration_in_trafficdevuelto debe ser inferior al del tiempo de viaje real en la mayoría de los días. Sin embargo, este valor puede ser superior al tiempo de viaje real en ciertos días en que las condiciones de tráfico son particularmente favorables.
transit_mode: especifica uno o más medios de transporte. Este parámetro solo se puede especificar para indicaciones de transporte, y solo si la solicitud incluye una clave de API o un id. de cliente de Google Maps API for Work. El parámetro admite los siguientes argumentos:busindica que para la ruta calculada debe priorizarse el transporte en autobús.subwayindica que para la ruta calculada debe priorizarse el transporte en subterráneo.trainindica que para la ruta calculada debe priorizarse el transporte en tren.tramindica que para la ruta calculada debe priorizarse el transporte en tranvía y tren ligero.railindica que para la ruta calculada debe priorizarse el transporte en tren, tranvía, tren ligero y subterráneo. Esto equivale atransit_mode=train|tram|subway.
transit_routing_preference: especifica preferencias para rutas de transporte. Mediante este parámetro, puedes restringir las opciones devueltas, en lugar de aceptar la mejor ruta predeterminada seleccionada por la API. Este parámetro solo se puede especificar para indicaciones de transporte, y solo si la solicitud incluye una clave de API o un id. de cliente de Google Maps API for Work. El parámetro admite los siguientes argumentos:less_walkingindica que para la ruta calculada se deben incluir traslados a pie limitados.fewer_transfersindica que para la ruta calculada se debe incluir una cantidad limitada de transbordos.
Ejemplos de solicitudes de indicaciones
La siguiente solicitud devuelve indicaciones de manejo desde Toronto, Ontario hasta Montreal, Québec.
https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY
Al cambiar los parámetros mode y avoid, se puede modificar la solicitud inicial para que devuelva direcciones para un recorrido pintoresco en bicicleta que evite las rutas principales.
https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&avoid=highways&mode=bicycling&key=YOUR_API_KEY
La siguiente solicitud busca indicaciones de transporte desde Brooklyn, New York hasta Queens, New York. La solicitud no especifica un departure_time, por lo que a la hora de partida se le asignará el valor predeterminado de la hora actual:
https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&key=YOUR_API_KEY
La siguiente solicitud incluye una hora de partida específica.
Nota: En este ejemplo, la hora de partida se especifica como 30 de julio de 2012 a las 09:45 a.m. Para evitar un error, antes de enviar la solicitud debes cambiar el parámetro a una hora en el futuro.
https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&departure_time=1343641500&mode=transit&key=YOUR_API_KEY
La siguiente solicitud devuelve indicaciones de manejo desde Glasgow, RU hasta Perth, RU, usando id. de sitio.
https://maps.googleapis.com/maps/api/directions/json?origin=place_id:ChIJ685WIFYViEgRHlHvBbiD5nE&destination=place_id:ChIJA01I-8YVhkgRGJb0fW4UX7Y&key=YOUR_API_KEY
Modos de viaje
Cuando calculas indicaciones, debes especificar el medio de transporte (mode) que usarás. De forma predeterminada, las indicaciones se calculan como indicaciones de manejo (driving). Se admiten los siguientes medios de transporte:
driving(predeterminado) indica indicaciones de manejo estándar usando la red de carreteras.walkingsolicita indicaciones de traslado a pie por sendas peatonales y veredas (cuando estén disponibles).bicyclingsolicita indicaciones para el traslado en bicicleta por ciclovías y calles preferidas (cuando estén disponibles).transitsolicita indicaciones por rutas de transporte público (cuando estén disponibles). Si configuraste el medio entransit, también puedes especificar undeparture_timeo unarrival_time. Si no especificas ninguno,departure_timeadoptará, de forma predeterminada, el valor de “now” (es decir, la hora de partida se establece en la hora actual). También puedes incluir untransit_modeo unatransit_routing_preference.
Nota: Es posible que en las indicaciones de traslado a pie y en bicicleta no se incluyan sendas peatonales o ciclovías claras; por lo tanto, para estas indicaciones se devolverán warnings que debes mostrar al usuario.
Waypoints
Al calcular rutas usando Google Maps Directions API, también puedes especificar waypoints para indicaciones de manejo, traslado a pie o en bicicleta (los waypoints no están disponibles para indicaciones de transporte). Los waypoints te permiten calcular rutas por ubicaciones adicionales, en cuyo caso la ruta devuelta incluye paradas en cada uno de los waypoints proporcionados.
Los waypoints se especifican en el parámetro waypoints y consisten en una o más direcciones o ubicaciones separadas por el carácter de barra vertical (|).
Por ejemplo, la siguiente dirección URL inicia una solicitud de indicaciones para una ruta entre Boston, MA y Concord, MA, con paradas en Charlestown y Lexington, en este orden:
https://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&key=YOUR_API_KEY
Para cada waypoint en la solicitud, la respuesta para las indicaciones incluye una entrada adicional en la matriz legs para proporcionar los detalles correspondientes a ese tramo del recorrido.
Si quieres alterar la ruta usando waypoints sin agregar una parada, al waypoint agrégale el prefijo via:. Los waypoints con el prefijo via: no agregarán una entrada a la matriz legs, sino que, en su lugar, direccionarán el trayecto por el waypoint proporcionado.
La siguiente dirección URL modifica la solicitud anterior de modo que el trayecto se direccione por Lexington sin paradas:
https://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|via:Lexington,MA&key=YOUR_API_KEY
El prefijo via: es más eficaz cuando se crean rutas en respuesta a que el usuario arrastra los waypoints en el mapa. Al hacer esto, el usuario puede ver cómo se verá la ruta final en tiempo real y lo ayuda a asegurarse de que los waypoints estén ubicados en sitios accesibles para laGoogle Maps Directions API.
Optimiza tus waypoints
De forma predeterminada, el servicio de indicaciones calcula una ruta a través de los waypoints proporcionados en su respectivo orden. Como alternativa, puedes pasar optimize:true como el primer argumento dentro del parámetro waypoints para permitir que el servicio de indicaciones optimice la ruta proporcionada reorganizando los waypoints de manera más eficaz. (Esta optimización es una aplicación del problema del viajante).
Si le indicas al servicio indicaciones que optimice el orden de sus waypoints, ese orden se devolverá en el campo waypoint_order dentro del objeto routes. El campo waypoint_order devuelve valores a partir de cero.
El siguiente ejemplo calcula la ruta desde Adelaida, Australia del Sur, hasta cada una de las principales regiones vitivinícolas de Australia el Sur usando la optimización de rutas.
https://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&destination=Adelaide,SA&waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&key=YOUR_API_KEY
La inspección de la ruta calculada indicará que la ruta se calculó usando el siguiente orden de waypoints:
"waypoint_order": [ 1, 0, 2, 3 ]
Restricciones
Pueden calcularse indicaciones 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 indique la restricción que se debe evitar. Se admiten las siguientes restricciones:
avoid=tollsavoid=highwaysavoid=ferries
Es posible solicitar una ruta que evite cualquier combinación de peajes, autopistas y transbordadores al pasar ambas restricciones al parámetro “avoid”. Por ejemplo: avoid=tolls|highways|ferries.
Nota: la adición de restricciones no excluye rutas que incluyen la característica restringida; simplemente inclina el resultado a rutas más favorables.
Sistemas de unidades
Los resultados de las indicaciones contienen text dentro de campos distance que se le pueden mostrar al usuario para indicar la distancia de un “tramo” específico de la ruta. De forma predeterminada, ese texto usa el sistema de unidades del país o la región de origen.
Por ejemplo, para una ruta de “Chicago, IL” a “Toronto, ONT” los resultados se mostrarán en millas, mientras que para la ruta inversa se mostrarán en kilómetros. Puedes invalidar este sistema de unidades configurando uno explícitamente en el parámetro units de la solicitud y pasando uno de los siguientes valores:
metricespecifica el uso del sistema métrico. Las distancias textuales se devuelven en kilómetros y metros.imperialespecifica el uso del sistema imperial (inglés). Las distancias textuales se devuelven en millas y pies.
Nota: esta configuración del sistema de unidades solo tiene efecto sobre el text que se muestra en los campos distance. Los campos distance también contienen values que siempre se expresan en metros.
Restricción por región
También puedes configurar el servicio de indicaciones para que devuelva resultados restringidos a una región en particular usando el parámetro region. Este parámetro toma un argumento ccTLD (dominio de nivel superior de código de país) que especifica la restricción por región. 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 código ccTLD para el Reino Unido es "uk" (.co.uk) mientras que su código ISO 3166-1 es "gb" (técnicamente para la entidad de «Reino Unido de Gran Bretaña e Irlanda del Norte").
Puedes usar cualquier dominio en el cual la aplicación principal de Google Maps ofrezca indicaciones de manejo.
Por ejemplo, una solicitud de manejo desde "Toledo" hasta "Madrid" devuelve un resultado cuando region está configurado en es, ya que "Toledo" se interpreta como la ciudad española:
https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid®ion=es&key=YOUR_API_KEY
{
"status": "OK",
"routes": [ {
"summary": "AP-41",
"legs": [ {
...
} ],
"copyrights": "Map data ©2010 Europa Technologies, Tele Atlas",
"warnings": [ ],
"waypoint_order": [ ]
} ]
}
Las solicitudes de indicaciones de "Toledo" a "Madrid" enviadas sin el parámetro region no devolverán resultados, ya que "Toledo" se interpreta como la ciudad de Ohio:
https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid&key=YOUR_API_KEY
{
"status": "ZERO_RESULTS",
"routes": [ ]
}
Respuestas a solicitudes de indicaciones
Las respuestas a las solicitudes de indicaciones se devuelven en el formato indicado por el marcador output en la ruta de acceso de la dirección URL de la solicitud.
Ejemplos de respuesta
A continuación se muestra un ejemplo de respuesta HTTP en el que se calcula la ruta desde Chicago, IL, hasta Los Angeles, CA, a través de dos waypoints en Joplin, MO, y Oklahoma City, OK.
https://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&key=YOUR_API_KEY
El ejemplo anterior solicita el formato de salida JSON. También es posible solicitar el formato de salida XML. Haz clic en las pestañas a continuación para ver las respuestas JSON y XML de ejemplo.
Dado que los resultados de las indicaciones pueden ser bastante detallados, se omitieron los elementos repetidos en las respuestas para proporcionar mayor claridad.
{
"status": "OK",
"geocoded_waypoints" : [
{
"geocoder_status" : "OK",
"place_id" : "ChIJ7cv00DwsDogRAMDACa2m4K8",
"types" : [ "locality", "political" ]
},
{
"geocoder_status" : "OK",
"place_id" : "ChIJ69Pk6jdlyIcRDqM1KDY3Fpg",
"types" : [ "locality", "political" ]
},
{
"geocoder_status" : "OK",
"place_id" : "ChIJgdL4flSKrYcRnTpP0XQSojM",
"types" : [ "locality", "political" ]
},
{
"geocoder_status" : "OK",
"place_id" : "ChIJE9on3F3HwoAR9AhGJW_fL-I",
"types" : [ "locality", "political" ]
}
],
"routes": [ {
"summary": "I-40 W",
"legs": [ {
"steps": [ {
"travel_mode": "DRIVING",
"start_location": {
"lat": 41.8507300,
"lng": -87.6512600
},
"end_location": {
"lat": 41.8525800,
"lng": -87.6514100
},
"polyline": {
"points": "a~l~Fjk~uOwHJy@P"
},
"duration": {
"value": 19,
"text": "1 min"
},
"html_instructions": "Head \u003cb\u003enorth\u003c/b\u003e on \u003cb\u003eS Morgan St\u003c/b\u003e toward \u003cb\u003eW Cermak Rd\u003c/b\u003e",
"distance": {
"value": 207,
"text": "0.1 mi"
}
},
...
... additional steps of this leg
...
... additional legs of this route
"duration": {
"value": 74384,
"text": "20 hours 40 mins"
},
"distance": {
"value": 2137146,
"text": "1,328 mi"
},
"start_location": {
"lat": 35.4675602,
"lng": -97.5164276
},
"end_location": {
"lat": 34.0522342,
"lng": -118.2436849
},
"start_address": "Oklahoma City, OK, USA",
"end_address": "Los Angeles, CA, USA"
} ],
"copyrights": "Map data ©2010 Google, Sanborn",
"overview_polyline": {
"points": "a~l~Fjk~uOnzh@vlbBtc~@tsE`vnApw{A`dw@~w\\|tNtqf@l{Yd_Fblh@rxo@b}@xxSfytAblk@xxaBeJxlcBb~t@zbh@jc|Bx}C`rv@rw|@rlhA~dVzeo@vrSnc}Axf]fjz@xfFbw~@dz{A~d{A|zOxbrBbdUvpo@`cFp~xBc`Hk@nurDznmFfwMbwz@bbl@lq~@loPpxq@bw_@v|{CbtY~jGqeMb{iF|n\\~mbDzeVh_Wr|Efc\\x`Ij{kE}mAb~uF{cNd}xBjp]fulBiwJpgg@|kHntyArpb@bijCk_Kv~eGyqTj_|@`uV`k|DcsNdwxAott@r}q@_gc@nu`CnvHx`k@dse@j|p@zpiAp|gEicy@`omFvaErfo@igQxnlApqGze~AsyRzrjAb__@ftyB}pIlo_BflmA~yQftNboWzoAlzp@mz`@|}_@fda@jakEitAn{fB_a]lexClshBtmqAdmY_hLxiZd~XtaBndgC"
},
"warnings": [ ],
"waypoint_order": [ 0, 1 ],
"bounds": {
"southwest": {
"lat": 34.0523600,
"lng": -118.2435600
},
"northeast": {
"lat": 41.8781100,
"lng": -87.6297900
}
}
} ]
}
Generalmente, para la búsqueda de indicaciones se devuelve solo una entrada en la matriz routes, aunque el servicio de indicaciones puede devolver varias rutas si le pasas alternatives=true.
Ten en cuenta que estos resultados generalmente se deben analizar si quieres extraer valores de ellos. El análisis de JSON es relativamente fácil. Consulta Análisis de JSON para obtener información sobre algunos de los patrones de diseño recomendados.
<DirectionsResponse>
<status>OK</status>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJ7cv00DwsDogRAMDACa2m4K8</place_id>
</geocoded_waypoint>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJ69Pk6jdlyIcRDqM1KDY3Fpg</place_id>
</geocoded_waypoint>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJgdL4flSKrYcRnTpP0XQSojM</place_id>
</geocoded_waypoint>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJE9on3F3HwoAR9AhGJW_fL-I</place_id>
</geocoded_waypoint>
<route>
<summary>I-40 W</summary>
<leg>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>41.8507300</lat>
<lng>-87.6512600</lng>
</start_location>
<end_location>
<lat>41.8525800</lat>
<lng>-87.6514100</lng>
</end_location>
<polyline>
<points>a~l~Fjk~uOwHJy@P</points>
</polyline>
<duration>
<value>19</value>
<text>1 min</text>
</duration>
<html_instructions>Head <b>north</b> on <b>S Morgan St</b> toward <b>W Cermak Rd</b></html_instructions>
<distance>
<value>207</value>
<text>0.1 mi</text>
</distance>
</step>
...
... additional steps of this leg
...
... additional legs of this route
<duration>
<value>74384</value>
<text>20 hours 40 mins</text>
</duration>
<distance>
<value>2137146</value>
<text>1,328 mi</text>
</distance>
<start_location>
<lat>35.4675602</lat>
<lng>-97.5164276</lng>
</start_location>
<end_location>
<lat>34.0522342</lat>
<lng>-118.2436849</lng>
</end_location>
<start_address>Oklahoma City, OK, USA</start_address>
<end_address>Los Angeles, CA, USA</end_address>
<copyrights>Map data ©2010 Google, Sanborn</copyrights>
<overview_polyline>
<points>a~l~Fjk~uOnzh@vlbBtc~@tsE`vnApw{A`dw@~w\|tNtqf@l{Yd_Fblh@rxo@b}@xxSfytAblk@xxaBeJxlcBb~t@zbh@jc|Bx}C`rv@rw|@rlhA~dVzeo@vrSnc}Axf]fjz@xfFbw~@dz{A~d{A|zOxbrBbdUvpo@`cFp~xBc`Hk@nurDznmFfwMbwz@bbl@lq~@loPpxq@bw_@v|{CbtY~jGqeMb{iF|n\~mbDzeVh_Wr|Efc\x`Ij{kE}mAb~uF{cNd}xBjp]fulBiwJpgg@|kHntyArpb@bijCk_Kv~eGyqTj_|@`uV`k|DcsNdwxAott@r}q@_gc@nu`CnvHx`k@dse@j|p@zpiAp|gEicy@`omFvaErfo@igQxnlApqGze~AsyRzrjAb__@ftyB}pIlo_BflmA~yQftNboWzoAlzp@mz`@|}_@fda@jakEitAn{fB_a]lexClshBtmqAdmY_hLxiZd~XtaBndgC</points>
</overview_polyline>
<waypoint_index>0</waypoint_index>
<waypoint_index>1</waypoint_index>
<bounds>
<southwest>
<lat>34.0523600</lat>
<lng>-118.2435600</lng>
</southwest>
<northeast>
<lat>41.8781100</lat>
<lng>-87.6297900</lng>
</northeast>
</bounds>
</route>
</DirectionsResponse>
Ten en cuenta que una respuesta XML consiste en una <DirectionsResponse> y los siguientes elementos de nivel superior:
<status>contiene metadatos sobre la solicitud. Consulta los siguientes Códigos de estado.- Un
<geocoded_waypoint>por waypoint y origen y destino, con detalles sobre el resultado de su geocodificación. Puede haber elementos<geocoded_waypoint/>vacíos. Consulta Waypoints geocodificados a continuación. - Cero o más elementos
<route>, cada uno con un conjunto de información sobre la ruta entre el origen y el destino.
Te recomendamos que uses json como marcador de formato de salida preferido, a menos que tu servicio requiera xml por algún motivo. El procesamiento de árboles XML requiere de cierto cuidado, ya que debes hacer referencia a los nodos y elementos adecuados. Consulta Análisis de XML con XPath para obtener información sobre algunos de los patrones de diseño recomendados para el procesamiento del formato de salida.
En el resto de esta documentación se usará sintaxis JSON. En la mayoría de los casos, el formato de salida no tiene importancia para los fines de ilustración de conceptos o nombres de campos en la documentación. No obstante, observa las siguientes diferencias leves:
- Los resultados XML se agrupan en un elemento raíz
<DirectionsResponse>. - JSON denota entradas con múltiples elementos mediante matrices en plural (
steps), mientras XML las denota con múltiples elementos en singular (<step>). - Los elementos en blanco se indican mediante matrices vacías en JSON, y mediante la ausencia de un elemento como este en XML. Una respuesta que no genera resultados devolverá una matriz
routesvacía en JSON, pero no devolverá elementos<route>en XML, por ejemplo.
Elementos de las respuestas a las solicitudes de indicaciones
Las respuestas a solicitudes de indicaciones contienen los siguientes elementos raíz:
statuscontiene metadatos sobre la solicitud. Consulta los siguientes Códigos de estado.geocoded_waypointscontiene una maatriz con detalles acerca de la geocodificación del origen, el destino y los waypoints. Consulta Waypoints geocodificados a continuación.routescontiene una matriz de rutas desde el origen hasta el destino. Consulta Rutas a continuación. Las rutas consisten en Etapas y Pasos anidados.
Códigos de estado
El campo status en el objeto de la respuesta a la solicitud de indicaciones contiene el estado de la solicitud y podría contener información de depuración para ayudarte a localizar por qué falló el servicio de indicaciones. El campo status puede contener los siguientes valores:
OKindica que la respuesta contiene unresultválido.NOT_FOUNDindica que no se pudo geocodificar al menos a una de las ubicaciones especificadas en el origen, el destino o los waypoints de la solicitud.ZERO_RESULTSindica que no fue posible hallar una ruta entre el origen y el destino.MAX_WAYPOINTS_EXCEEDEDindica se proporcionaron demasiadoswaypointen la solicitud. La cantidad máxima dewaypointspermitidos es 23, más el origen y el destino. (Si la solicitud no incluye una clave de API, la cantidad máxima permitida dewaypointsserá de 8. Los clientes de Google Maps API for Work pueden enviar solicitudes con hasta 23 waypoints).INVALID_REQUESTindica que la solicitud proporcionada no era válida. Las causas más comunes por las que se produce este estado incluyen un parámetro o valor de paránetro no válido.OVER_QUERY_LIMITindica que el servicio recibió demasiadas solicitudes desde tu aplicación dentro del período permitido.REQUEST_DENIEDindica que el servicio no permitió que tu aplicación usara el servicio de indicaciones.UNKNOWN_ERRORindica que no se pudo procesar una solicitud de indicaciones debido a un error en el servidor. La solicitud puede tener éxito si realizas un nuevo intento.
Mensajes de error
Cuando el código de estado es diferente de OK, podría haber un campo error_message adicional en el objeto de la respuesta a la solicitud de indicaciones. Este campo contiene información más detallada acerca de los motivos del código de estado proporcionado.
Nota: No se garantiza que este campo aparezca siempre, y su contenido está sujeto a modificaciones.
Waypoints geocodificados
Puedes encontrar información detallada acerca de la geocodificación de cada waypoint, como también el origen y el destino, en la matriz (JSON) geocoded_waypoints. Puedes usar esa información para inferir por qué el servicio podría devolver rutas inesperadas o ninguna ruta.
Los elementos de la matriz geocoded_waypoints corresponden, por su posición con base en cero, al origen, a los waypoints en el orden en que se especifican y al destino. Cada elemento incluye los siguientes detalles acerca de la operación de geocodificación para el waypoint correspondiente:
geocoder_statusindica el código de estado que se genera a partir de la operación de geocodificación. Este campo puede contener los siguientes valores:"OK"indica que no ocurrieron errores, que la dirección se analizó correctamente y que se devolvió al menos un geocódigo.ZERO_RESULTSindica que el geocódigo fue exitoso, pero no devolvió resultados. Esto puede ocurrir si se pasa un valoraddressinexistente al geocodificador.
-
partial_matchindica que el geocodificador no devolvió una coincidencia exacta para la solicitud original, aunque sí pudo establecer una coincidencia parcial para la dirección solicitada. Te recomendamos que examines la solicitud original para comprobar que no haya errores ortográficos y que la dirección no esté incompleta.Las coincidencias parciales generalmente ocurren cuando las direcciones que pasaste en la solicitud no existen en la localidad. También se pueden devolver coincidencias parciales cuando una solicitud coincide con dos o más ubicaciones en la misma localidad. Por ejemplo, "21 Henr St, Bristol, UK" devolverá una coincidencia parcial para Henry Street y Henrietta Street. Ten en cuenta que si una solicitud incluye una dirección con un componente que contiene errores ortográficos, el servicio de geocodificación puede sugerir una dirección alternativa. Las sugerencias propuestas de esta manera también se marcarán como una coincidencia parcial.
place_ides un identificador único que se puede usar con otras API de Google. Por ejemplo, puedes usar elplace_idde una respuesta de autocompletado de sitios de Google para calcular indicaciones hasta un negocio local. Consulta la información general sobre id. de sitio.typesindica el tipo de dirección del resultado de geocodificación usado para calcular las indicaciones. Se devuelven los siguientes tipos:street_addressindica una dirección exacta.routeindica la denominación de una carretera (como "US 101").intersectionindica una intersección principal, generalmente de dos calles importantes.politicalindica una entidad política. Generalmente, este tipo indica un polígono de alguna administración pública.countryindica la entidad política nacional, y es generalmente el tipo de orden más alto que devuelve el geocodificador.administrative_area_level_1indica una entidad civil de primer orden por debajo del nivel de país. En Estados Unidos, estos niveles administrativos son los estados. No todos los países poseen estos niveles administrativos.administrative_area_level_2indica una entidad civil de segundo orden por debajo del nivel de país. En Estados Unidos, estos niveles administrativos son los condados. No todos los países poseen estos niveles administrativos.administrative_area_level_3indica una entidad civil de tercer orden por debajo del nivel de país. Este tipo indica una división civil inferior. No todos los países poseen estos niveles administrativos.administrative_area_level_4indica una entidad civil de cuarto orden por debajo del nivel de país. Este tipo indica una división civil inferior. No todos los países poseen estos niveles administrativos.administrative_area_level_5indica una entidad civil de quinto orden por debajo del nivel de país. Este tipo indica una división civil inferior. No todos los países poseen estos niveles administrativos.colloquial_areaindica un nombre alternativo de uso frecuente para la entidad.localityindica una entidad política constituida de una ciudad o un pueblo.wardindica un tipo específico de localidad japonesa para facilitar la distinción entre los múltiples componentes de localidad en una dirección japonesa.sublocalityindica una entidad civil de primer orden por debajo de una localidad. Algunas ubicaciones pueden recibir uno de los tipos adicionales:sublocality_level_1asublocality_level_5. Cada nivel de sublocalidad es una entidad civil. Los números más altos indican un área geográfica más pequeña.neighborhoodindica un barrio determinado.premiseindica una ubicación determinada, generalmente un edificio o un conjunto de edificios con un nombre en común.subpremiseindica una entidad de primer orden por debajo de una ubicación determinada; generalmente un edificio en particular en un conjunto de edificios con un nombre en común.postal_codeindica un código postal tal como se usa para identificar una dirección de correo postal dentro del país.natural_featureindica una atracción natural destacada.airportindica un aeropuerto.parkindica un parque determinado.point_of_interestindica un punto de interés determinado. Generalmente, estos "PI" son entidades locales destacadas que no pueden incluirse fácilmente en otra categoría, como el edificio "Empire State" o la "Estatua de la libertad".
Una lista vacía de tipos indica que no hay tipos conocidos para el componente de dirección específico; por ejemplo, Lieu-dit en Francia.
Estos detalles no estarán presentes para los waypoints especificados como valores textuales de latitud/longitud si el servicio no devuelve resultados. Esto se debe a que a esos waypoints se les aplicó geocodificación inversa únicamente para obtener sus direcciones representativas después de haber encontrado una ruta. Un objeto JSON vacío ocupará los lugares correspondientes en la matriz de geocoded_waypoints.
Rutas
Cuando la Google Maps Directions API devuelve resultados, los coloca en una matriz (JSON) routes. Incluso si el servicio no devuelve resultados (como ocurriría si el origen o el destino no existieran), aún devolverá una matriz routes vacía. (Las respuestas XML consisten en cero o más elementos <route>).
Cada elemento de la matriz routes contiene un solo resultado para el origen y el destino especificados. Esta ruta puede consistir en una o más legs, según se hayan especificado waypoints o no. Además, la ruta también contiene información sobre derechos de autor y advertencias que debe mostrarse al usuario junto con la información de ruta.
Cada ruta dentro del campo routes puede contener los siguientes campos:
summarycontiene una descripción textual corta de la ruta, que permite denominar la ruta y eliminar ambigüedades respecto de otras alternativas.legs[]posee una matriz que contiene información acerca de una etapa de la ruta, entre dos ubicaciones dentro de la ruta en cuestión. Habrá una etapa separada para cada waypoint o destino especificado. (Una ruta sin waypoints contendrá exactamente una etapa en la matrizlegs). Cada etapa consta de una serie desteps. (Consulta Etapas de las indicaciones a continuación).waypoint_ordercontiene una matriz que indica el orden de los waypoints en la ruta calculada. Esos waypoints pueden reordenarse si se le pasóoptimize:truea la solicitud dentro de su parámetrowaypoints.overview_polylinecontiene un único objetopointsque tiene una representación de polilínea codificada de la ruta. Esta polilínea es una ruta aproximada (unificada) a partir de las indicaciones resultantes.boundscontiene el cuadro de límite del viewport deoverview_polyline.copyrightscontiene el texto sobre derechos de autor que debe mostrarse para esta ruta. Debes administrar y mostrar esta información por tu cuenta.warnings[]contiene una matriz de advertencias que deben exhibirse al mostrar estas indicaciones. Debes administrar y mostrar estas advertencias por tu cuenta.fare: Si estuviera presente, contiene los costos totales (es decir, los costos totales de los tickets) para esta ruta. Esta propiedad se devuelve únicamente para solicitudes de transporte y en el caso de rutas, cuando se encuentre disponible información sobre costos para todas las etapas del recorrido. La información incluye lo siguiente:currency: código de moneda ISO 4217 que indica la divisa en la cual se expresa el monto.value: monto total expresado en la moneda antes especificada.text: monto total con formato en el idioma solicitado.
A continuación se proporciona un ejemplo de información de costos para una ruta:
"routes" : [
{
"bounds" : {
"northeast" : {
"lat" : 37.8079996,
"lng" : -122.4074334
},
"southwest" : {
"lat" : 37.7881005,
"lng" : -122.4203553
}
},
"copyrights" : "Map data ©2015 Google",
"fare" : {
"currency" : "USD",
"value" : 6
"text" : "$6.00"
},
...
}]
Etapas
Cada elemento de la matriz legs especifica una etapa individual del trayecto desde el origen hasta el destino en la ruta calculada. Las rutas que no contienen waypoints consisten en una única “etapa”, pero aquellas en las que se definen uno o más waypoints consisten en una o más etapas, correspondientes a las etapas específicas del viaje.
Cada etapa dentro de los campos legs pueden contener los siguientes campos:
steps[]contiene una matriz de etapas que proporcionan información sobre cada paso individual de la etapa del viaje. (Consulta Pasos de las indicaciones a continuación).distanceindica la distancia total cubierta por esta etapa como un campo con los siguientes elementos:valueindica la distancia en metros.textcontiene una representación de la distancia en lenguaje natural, que se muestra en unidades tal como se usa en el origen (o como se la haya anulado en el parámetrounitsde la solicitud). (Por ejemplo, se usarán millas y pies para cualquier origen dentro de Estados Unidos). Ten en cuenta que el campodistance.valuesiempre contiene un valor expresado en metros, independientemente del sistema de unidades que se muestre como texto.
Estos campos pueden no estar presentes si se desconoce la distancia.
durationindica la duración total de esta etapa en forma de campo con los siguientes elementos:valueindica la duración en segundos.textcontiene una representación de la duración en lenguaje natural.
Estos campos pueden no estar presentes si se desconoce la duración.
duration_in_trafficindica la duración total de esta etapa. Este valor es un cálculo aproximado del tiempo en el tráfico en función de las condiciones del tráfico actuales e históricas. Consulta el parámetro de solicitudtraffic_modelpara obtener información acerca de las opciones que puedes usar para solicitar que el valor devuelto sea optimista, pesimista o la mejor aproximación. La duración en el tráfico solo se devuelve si todos los siguientes enunciados son verdaderos:- La solicitud incluye un parámetro
departure_time. - La solicitud incluye una clave de API válida, o un ID. de cliente de Google Maps API for Work y una firma válidos.
- Las condiciones del tráfico están disponibles para la ruta solicitada.
- La solicitud no incluye waypoints de parada.
- La solicitud es específica para indicaciones de manejo; el parámetro
modeestá configurado endriving.
duration_in_trafficcontiene los siguientes campos:valueindica la duración en segundos.textcontiene una representación de la duración en lenguaje natural.
- La solicitud incluye un parámetro
arrival_timecontiene la hora estimada de llegada para esta etapa. Esta propiedad solo se devuelve para indicaciones de transporte. El resultado se devuelve como un objetoTimecon tres propiedades:valuecontiene la hora especificada como objetoDatede JavaScript.textcontiene la hora especificada como cadena. La hora se muestra en la zona horaria de la parada de transporte.time_zonecontiene la zona horaria de esta estación. El valor es el nombre de la zona horaria tal como se define en la base de datos de zonas horarias de la IANA; p. ej., “America/New_York”.
departure_timecontiene la hora estimada de partida para esta etapa, especificada como un objetoTime.departure_timesolo está disponible para indicaciones de transporte.start_locationcontiene las coordenadas de latitud/longitud para el origen de esta etapa. Debido a que la Directions API calcula indicaciones entre ubicaciones usando la opción de transporte más cercana (generalmente, una calle) en los puntos de partida y llegada, es posible questart_locationse diferencie del origen proporcionado para esta etapa si, por ejemplo, no hay una calle cerca del origen.end_locationcontiene las coordenadas de latitud/longitud para el destino proporcionado de esta etapa. Debido a que Google Maps Directions API calcula indicaciones entre ubicaciones usando la opción de transporte más cercana (generalmente, una calle) en los puntos de partida y llegada, es posible queend_locationse diferencie del destino proporcionado para esta etapa si, por ejemplo, no hay una calle cerca del destino.start_addresscontiene la dirección en lenguaje natural (normalmente, una dirección) que resulta de la geocodificación inversa de lastart_locationde esta etapa.end_addresscontiene la dirección en lenguaje natural (normalmente, una dirección) que resulta de la geocodificación inversa de laend_locationde esta etapa.
Pasos
Cada elemento de la matriz steps define un solo paso de las indicaciones calculadas. Un paso es la unidad más pequeña de la ruta de una indicación, y contiene un paso individual en el que se describe una instrucción específica y única del viaje. P. ej., “Doble a la izquierda en la calle 4, hacia el oeste”. En el paso no solo se describe la instrucción, sino también se incluye información sobre distancia y duración relacionada con la vinculación que este paso tiene con el siguiente. Por ejemplo, un paso indicado como “Tome la I-80 hacia el oeste” puede contener una duración de “37 millas” y “40 minutos”, que indica que el paso siguiente se encuentra a 37 millas o 40 minutos del paso actual.
Al usar la Google Maps Directions API para buscar indicaciones de transporte, en la matriz de pasos se incluirán detalles sobre el transporte bajo la forma de una matriz transit_details. Si en las indicaciones se incluyen varios medios de transporte, se proporcionarán indicaciones detalladas para los pasos de desplazamiento a pie o manejo en una matriz steps. Por ejemplo, en un paso para el desplazamiento a pie se incluirán indicaciones de las ubicaciones de partida y llegada: “Camine hasta la avenida Innes y la calle Fitch”. En ese paso se incluirán indicaciones detalladas de desplazamiento a pie para la ruta en la matriz steps, como las siguientes: “Diríjase hacia el noroeste”, “Doble a la izquierda en Arelious Walker” y “Doble a la izquierda en la avenida Innes”.
Cada paso dentro de los campos steps pueden contener los siguientes campos:
html_instructionscontiene instrucciones con formato para este paso, presentadas como una cadena de texto HTML.distancecontiene la distancia cubierta por ese paso hasta el paso siguiente. (Consulta la discusión sobre este campo en Etapas de las indicaciones más arriba). Este campo puede no especificarse si se desconoce la distancia.durationcontiene el tiempo generalmente necesario para realizar el paso, hasta llegar al siguiente. (Consulta la descripción en Etapas de las indicaciones más arriba). Este campo puede no especificarse si se desconoce la duración.start_locationcontiene la ubicación del punto de partida de este paso, como un conjunto individual de camposlatylng.end_locationcontiene la ubicación del último punto de este paso, como un conjunto individual de camposlatylng.polylinecontiene un único objetopointsque tiene una representación de polilínea codificada del paso. Esta polilínea es una ruta aproximada (unificada) del paso.stepscontiene indicaciones detalladas para los pasos de desplazamiento a pie o manejo en indicaciones de transporte. Los subpasos solo están disponibles cuandotravel_modeestá configurado en “transit”. La matriz internastepses del mismo tipo questeps.transit_detailscontiene información específica sobre el transporte. Este campo solo se devuelve cuandotravel_modeestá configurado en "transit". Consulta Detalles sobre el transsporte a continuación.
Detalles sobre el transporte
Las indicaciones de tránsito devuelven información adicional que no es relevante para otros modos de transporte. Esas propiedades adicionales se exhiben a través del objeto transit_details, el cual se devuelve como un campo de un elemento en la matriz steps[]. Desde el objeto TransitDetails, puedes acceder a información adicional acerca de la parada de transporte, línea de transporte y agencia de transporte.
Un objeto transit_details puede contener los siguientes campos:
arrival_stopydeparture_stopcontienen información acerca de la parada/estación para esta parte del viaje. Los detalles de parada pueden incluir:nameel nombre de la estación/parada de transporte. P. ej., “Union Square”.locationcontiene la ubicación de la estación o parada de transporte, representada como un campolatylng.
arrival_timeydeparture_timecontienen los horarios de llegada y partida para esta etapa del viaje, especificados como las siguientes tres propiedades:textcontiene la hora especificada como cadena. La hora se muestra en la zona horaria de la parada de transporte.valuecontiene la hora especificada como horario Unix, o en segundos a partir de la medianoche del 1 de enero de 1970, UTC.time_zonecontiene la zona horaria de esta estación. El valor es el nombre de la zona horaria tal como se define en la base de datos de zonas horarias de la IANA; p. ej., “America/New_York”.
headsignespecifica la dirección en la cual se debe viajar en esta línea, según se marca en el vehículo o la parada de partida. A menudo, será la estación terminal.headwayespecifica los segundos previstos entre partidas de la misma parada en el momento. Por ejemplo, con un valorheadwayde 600, se debe prever una espera de diez minutos en caso de perder un autobús.num_stopscontiene la cantidad de paradas de este paso, para las que se tiene en cuenta la parada de llegada, pero no la parada de partida. Por ejemplo, si en las indicaciones se incluye partir de la parada A, pasar por las paradas B y C, y llegar a la parada D, el valor devuelto pornum_stopsserá 3.linecontiene información acerca de la línea de transporte usada en este paso, y puede incluir las siguientes propiedades:namecontiene el nombre completo de esta línea de transporte. Por ejemplo, "7 Avenue Express".short_namecontiene el nombre abreviado de esta línea de transporte. Normalmente, será el número de una línea, como "M7" o "355".colorcontiene el color que comúnmente se usa en la señalización de la línea de transporte en cuestión. El color se especificará como una cadena hexadecimal; por ejemplo: #FF0033.agenciescontiene una matriz de objetosTransitAgencyque proporcionan información acerca del operador de la línea, incluidas las siguientes propiedades:namecontiene el nombre de la agencia de transporte.urlcontiene la URL de la agencia de transporte.phonecontiene el número de teléfono de la agencia de transporte.
Debes mostrar los nombres y las direcciones URL de las agencias de transporte que proporcionan los resultados para un viaje específico.
urlcontiene la dirección URL de esta línea de transporte tal como la proporciona la agencia de transporte.iconcontiene la dirección URL para el icono asociado con esta línea.text_colorcontiene el color de texto que comúnmente se usa para la señalización de la línea en cuestión. El color se especificará como una cadena hexadecimal.vehiclecontiene el tipo de vehículo que se usa en esta línea. Puede incluir las siguientes propiedades:namecontiene el nombre del vehículo de esta línea; p. ej., “Subterráneo”.typecontiene el tipo de vehículo que se usa en esta línea. Consulta la documentación sobre el tipo de vehículo para obtener una lista completa de los valores admitidos.iconcontiene la dirección URL para el icono asociado con este tipo de vehículo.
Tipo de vehículo
La propiedad vehicle.type puede devolver cualquiera de los siguientes valores:
| Valor | Definición |
|---|---|
RAIL |
Transporte ferroviario. |
METRO_RAIL |
Transporte en tren ligero. |
SUBWAY |
Tren ligero subterráneo. |
TRAM |
Tranvía sobre el suelo. |
MONORAIL |
Monorriel. |
HEAVY_RAIL |
Ferrocarril metropolitano. |
COMMUTER_TRAIN |
Ferrocarril suburbano. |
HIGH_SPEED_TRAIN |
Tren de alta velocidad. |
BUS |
Autobús. |
INTERCITY_BUS |
Autobús interurbano. |
TROLLEYBUS |
Trolebús. |
SHARE_TAXI |
El transporte “share taxi” es una clase de autobús que puede dejar y recoger pasajeros en cualquier punto de su recorrido. |
FERRY |
Ferry. |
CABLE_CAR |
Un vehículo que funciona con un cable y generalmente sobre el suelo. Los funiculares aéreos pueden ser del tipo GONDOLA_LIFT. |
GONDOLA_LIFT |
Un funicular aéreo. |
FUNICULAR |
Un vehículo que sube por una pendiente pronunciada a través de un cable. Un funicular normalmente consta de dos coches; cada uno actúa como contrapeso del otro. |
OTHER |
Se devolverá este tipo para todos los demás vehículos. |
El parámetro sensor
Antes, la Google Maps API requería que incluyeras el parámetro sensor para indicar si tu aplicación usaba un sensor para determinar la ubicación del usuario. El uso de este parámetro ya no es obligatorio.
