google-maps-api-3 - eta - google maps javascript api
Acceda a los datos de tráfico de Google a través de un servicio web (8)
¿Hay alguna manera de acceder a los datos de tráfico que proporciona Google a través de un servicio web?
Parece haber un GTrafficOverlay
que coloca el tráfico en la parte superior de una ruta en un mapa de Google incrustado, pero no hay un servicio web directo que pueda consumir para, digamos, dar la fuente y el destino y encontrar el tráfico entre ellos.
¿Hay alguna otra fuente de la que pueda obtener estos datos?
Aparentemente, la información está disponible usando Google Directions API en su edición profesional Maps for work . De acuerdo con la documentación de la API :
Nota: Los usuarios de Maps for Work deben incluir parámetros de cliente y firma con sus solicitudes en lugar de una clave.
[...]
duration_in_traffic indica la duración total de este tramo, teniendo en cuenta las condiciones de tráfico actuales. La duración del tráfico solo se devolverá si se cumplen todas las condiciones siguientes:
- La solicitud de indicaciones incluye un parámetro departure_time establecido en un valor dentro de unos minutos de la hora actual.
- La solicitud incluye un API válido de Google Maps for Work y un parámetro de firma .
- Las condiciones de tráfico están disponibles para la ruta solicitada.
- La solicitud de indicaciones no incluye puntos intermedios de escala.
Bing Maps API tiene un servicio REST que devuelve información de tráfico
En India estamos usando http://www.itrafficnews.com . Pero los datos son publicados por los usuarios. No creo que Google proporcione los datos.
En lugar de tratar de extraer los datos de tráfico sin formato, puede intentar un enfoque diferente. La API de Google Directions le permite consultar la API con una ruta particular y, como resultado, devuelve una cadena JSON o elemento XML. Este resultado incluye el elemento - ''duration_in_traffic'' Esto indica la duración total de la etapa particular del viaje, teniendo en cuenta las condiciones actuales del tráfico. (para obtener información sobre ''leg'' y otros elementos de la cadena JSON devueltos por la API de indicaciones, consulte el enlace a continuación)
https://developers.google.com/maps/documentation/directions/#JSON No lo intenté yo solo, sino algo que encontré en la documentación.
Es posible que desee echar un vistazo a AQUÍ MAPA SERVICIO. Tienen datos de tráfico directo que puede usar, que es exactamente lo que necesita: https://developer.here.com/api-explorer/rest/traffic/traffic-flow-bounding-box
Por ejemplo, al consultar un área de interés, puede obtener algo como esto:
{
"RWS": [
{
"RW": [
{
"FIS": [
{
"FI": [
{
"TMC": {
"PC": 32483,
"DE": "SOHO",
"QD": "+",
"LE": 0.71682
},
"CF": [
{
"TY": "TR",
"SP": 9.1,
"SU": 9.1,
"FF": 17,
"JF": 3.2911,
"CN": 0.9
}
]
}
]
}
],
....
Dónde se puede encontrar la interpretación aquí Interpretar etiquetas de tráfico en tiempo real de HERE Maps :
- "RWS": una lista de elementos de Roadway (RW)
- "RW" = Este es el elemento compuesto para el flujo a través de una carretera completa. Un artículo de carretera estará presente para cada carretera con información de flujo de tráfico disponible
- "FIS" = una lista de elementos del elemento de flujo (FI)
- "FI" = Un elemento de flujo único
- "TMC" = Una colección ordenada de ubicaciones de TMC
- "PC" = Código de ubicación TMC de punto
- "DE" = Descripción del texto de la carretera
- "QD" = dirección de cola. ''+'' o ''-''. Tenga en cuenta que esto es lo contrario de la dirección de viaje en la identificación completa, por ejemplo, para la ubicación 107 + 03021, la QD sería ''-''
- "LE" = Longitud del tramo de la carretera. Las unidades se definen en el encabezado del archivo
- "CF" = flujo de corriente. Este elemento contiene detalles sobre la velocidad y la información del factor de atasco para el elemento de flujo dado.
- "CN" = Confianza, una indicación de cómo se determinó la velocidad. -1.0 carretera cerrada. 1.0 = 100% 0.7-100% Histórico Generalmente un valor entre .7 y 1.0 "FF" = La velocidad de flujo libre en este
tramo de carretera.- "JF" = El número entre 0.0 y 10.0 que indica la calidad de viaje esperada. Cuando hay un cierre de ruta, el factor de atasco será 10. A medida que el número se acerca a 10.0, la calidad del viaje empeora. -1.0 indica que no se pudo calcular un factor de atasco
- "SP" = Velocidad (basada en UNIDADES) limitada por límite de velocidad
- "SU" = Velocidad (basada en UNIDADES) no limitada por el límite de velocidad
- "TY" = Escriba información para el contenedor de referencia de ubicación dado. Esto puede ser una cadena libremente definida
También la fuente proviene de https://developer.here.com/rest-apis/documentation/traffic/topics/additional-parameters.html
No creo que Google proporcione esta API. Y los datos de tráfico no solo contienen los datos del incidente.
En la actualidad, muchos mapas en línea muestran el tráfico de la ciudad, pero no han proporcionado la API para el desarrollador. Incluso no sabemos de dónde obtienen los datos de tráfico. Tal vez el gobierno tenga los datos.
Así que creo que podrías pensarlo desde otra dirección. Por ejemplo, hay muchos sitios web de redes sociales. Todos pueden publicar la información de tráfico en el sitio web. Podemos recopilar esta información para obtener el estado del tráfico. O tal vez podamos crear un sitio web de este tipo.
Pero ese tipo de datos de tráfico (mencionados anteriormente) no es preciso. Incluso la información provista por humanos será incorrecta.
Afortunadamente, descubrí que mi ciudad ahora ofrece una aplicación móvil llamada "Información de bus en tiempo real". Podría decirle al ciudadano dónde está el autobús ahora y cuándo llegará a la estación de autobuses. Y olfateo la API REST en esta aplicación. Los datos de REST API proporcionan los datos importantes, por ejemplo lat y lon, y también la velocidad del bus. ¡Y es información en tiempo real! Así que creo que podríamos calcular el estado del tráfico a partir de estos datos (por alguna programación). Aquí hay algunos datos de muestra: https://github.com/sp-chenyang/bus/blob/master/sample_data/bjgj_aibang_com_8899_bjgj_php_city_linename_stationno_datatype_type.json
Incluso los datos del autobús no serán suficientes para calcular el estado exacto del tráfico en tiempo real. Incidentes, semáforos y otras cosas afectarán el estado del tráfico. Pero creo que este es el comienzo.
Al final, creo que podrías intentar averiguar si tu ciudad proporciona estos datos.
PD: Siempre estoy pensando que la vida será mejor para las personas en el futuro, pero ahora no.
No hay forma (o al menos no es razonablemente fácil y conveniente) de obtener los datos de tráfico sin procesar de Google Maps JavaScript API v3. Incluso si pudieras hacerlo, es probable que hacerlo viole alguna cláusula en los Términos del servicio de Google Maps. Tendría que obtener esta información de otro servicio. Dudo que haya un servicio gratuito que proporcione esta información en este momento, pero me encantaría que alguien me demostrara que estoy equivocado al respecto.
Como señala @crdzoba, Bing Maps API expone algunos datos de tráfico . Tal vez eso pueda satisfacer tus necesidades. No está claro en la documentación cuántos datos de tráfico exponen ya que solo se trata de datos sobre "incidentes". El tráfico lento debido a la construcción estaría ahí, pero no es obvio para mí si el tráfico lento debido simplemente al volumen sería.
ACTUALIZACIÓN (marzo de 2016): Han pasado muchas cosas desde que se escribió esta respuesta en 2011, pero los puntos principales parecen mantenerse: no encontrará datos de tráfico sin procesar en servicios API gratuitos (al menos no para los EE. UU., Y probablemente no la mayoría de los otros lugares). Pero si no le importa pagar un poco y / o si solo necesita cosas como "tiempo de viaje para una ruta específica teniendo en cuenta el tráfico", tiene opciones. La respuesta de @Antto , por ejemplo, apunta a Maps for Work de Google como un servicio API pagado que le permite obtener tiempos de viaje teniendo en cuenta el tráfico.
Tal vez deberías echarle un vistazo a Mapquests Traffic API: http://www.mapquestapi.com/traffic/
El servicio web desafortunadamente solo está disponible para algunas ciudades de los EE. UU., Creo. Pero probablemente resuelva tu problema.