2010-04-22 17 views
8

utilizo este tipo de URLs como:cómo obtener indicaciones de Google Maps tránsito público por petición HTTP del lado del servidor

http://maps.google.com/?saddr=546%206th%20Avenue,%20New%20York,%20NY%2010011%20(Sixth%20Avenue,%20New%20York)&daddr=W%20103rd%20St,%20New%20York,%20NY%20&dirflg=r

pero devuelve la página HTML. ¿Alguien sabe cómo obtener dicha información en json o xml o en cualquier formato analizable?

Necesito transporte público.

+0

Posible duplicado de [Calcular instrucciones de manejo usando PHP?] (Http://stackoverflow.com/questions/1800510/calculate-driving-directions-using-php) – miguev

Respuesta

6

Acaba de agregar &output=json al final de la url.

+0

¿Qué pasa con xml? cuando hago output = xml o output = kml, el archivo guardado está en blanco :( – c0d3Junk13

+0

xml/kml no parece funcionar. Supongo que solo está disponible json. ¿No hay una opción para analizar json para su caso? –

+0

Sí, yo puede hacer json también, gracias :) – c0d3Junk13

4

Me gustaría extender un poco la respuesta de Mathias.

  1. No hay un API de tránsito oficial de Google en el momemnt. Los tránsitos son proporcionados por las agencias, y la mayoría de los tránsitos no son públicos. Entonces, Google no puede abrirlos como API.

  2. Puede intentar consumir los datos "no oficiales" utilizando su enlace + "& output = json".

  3. Sin embargo, el resultado no será un JSON válido. En cambio, eso es algo que se puede convertir fácilmente a un objeto de JavaScript. (Las diferencias son: no hay comillas en los nombres de las propiedades, las cadenas no están codificadas correctamente, etc.)

  4. Imagine que tiene este objeto JavaScript. Sin embargo, no le permitirá obtener fácilmente los detalles de la ruta estructurada. Las propiedades del objeto contienen las coordenadas de los puntos de ruta, pero no las descripciones. El único lugar donde se pueden encontrar las descripciones es la propiedad 'panel', que contiene un fragmento de texto HTML (puede encontrar un enlace a la muestra de HTML en my blog post)

  5. Por lo tanto, tendrá que convertir esto HTML en XML (X-HTML) y luego compilar el analizador de este XML para obtener los datos esenciales de un viaje.

Me parece un poco exagerado. Teniendo en cuenta, esa API "no oficial" puede cambiar en el futuro, incluidos pequeños cambios en la estructura HTML del "panel" que matará a su analizador.

@MathiasLin, ¿cómo superaste esto?

+0

Respondiendo a su pregunta, aunque un poco tarde: Hemos utilizado este enfoque con la salida = xml (no json) y analizó el xml, que funcionó bien. Si la API 'no oficial' cambiara en el futuro, simplemente presionaríamos otra actualización de la apk. –

+0

@MathiasLin, ¿entendí correctamente que output = xml solía funcionar, pero ya no funciona? ¿Ya no usas Google transit 'API'? – Mikhail

+0

No usé la API de tránsito; el proyecto se realizó en 2010 pero se descontinúa, por lo que no estoy seguro si mi enfoque mencionado aún funciona, pero funcionó bien en ese entonces en 2010. –

Cuestiones relacionadas