puntos marcar marcadores google georreferenciación example ejemplos añadir google-maps google-maps-api-3 google-places-api gtfs

google-maps - marcar - google.maps.marker example



Detecta la parada de tránsito más cercana desde la ubicación dada (3)

Necesito obtener toda la información de transporte público cercana a cierta distancia de una ubicación determinada. El tipo de transporte público puede ser autobús, tren, etc.

Esto es lo que quise decir:

Si utilizo Google Map para consultar "Transit Stop cerca de una ubicación (por ejemplo, Bugis Street Singapore)" , nos devolverá todas las paradas de tránsito cercanas que desee. Como el que se muestra en la imagen. Pero necesito su API para obtener esos detalles. (como el servicio de autobús no, ID de parada de autobús, etc. como se muestra en la imagen). Pero no pude encontrar ninguno.

Esto es lo que he intentado

  1. He intentado utilizar la API Google Map Nearby Place para buscar un lugar con el tipo de transit_station, bus_station, train_station, etc. Pero todos devuelven el resultado cero. Solo pude usar esta API para buscar Lugar de interés cercano, pero no tránsito cercano.

  2. También revisé Google Transit API , pero solo encontré API para insertar datos de tránsito en Google pero no para extraerlo. Creo que Google aún no publicitó la API de tránsito.

Información Adicional

Revisé el sitio Gothere.sg . Y confundido ¿Cómo? porque pueden detectar el tránsito cercano. Es solo porque especifican la dirección "De-a".

He leído una pregunta bastante similar sobre Detección de tránsito cercano . Quizás todavía no es posible si utilizamos las API de Google.

Pero nada es imposible para mí

Último recurso

Como último recurso, también verifico con el proveedor, publictransport.sg . Hackeo con la API. Y descubrí que puede proporcionarme una parada de tránsito con algunas coordenadas. Pero falta una API cercana que se encuentre en Google Map.

Así que una solución que podría pensar en este momento, es utilizar el proveedor en este caso fue publictransport.sg que me da la identificación de parada y sus coordenadas. Para hacer esto, primero, tengo que traducir el nombre de la ubicación con Google GeoCoding API a Coordinate, luego tengo que crear mi propio cálculo cercano para encontrar la estación cercana comparando la Coordinate buscada con todas las coordenadas de la estación que tiene el proveedor.

Ahora, es posible para mí, pero muy doloroso :-)

Volver a la pregunta:

¿Hay alguna manera de recuperar todos los datos de parada de tránsito desde una ubicación determinada (ya sea usando la API de Google Maps o cualquier otra API)? y como hiciste eso?

Gracias

Al menos gracias por leer mi larga pregunta. Agradezco tu ayuda. Gracias por adelantado :-)


Aún puede enumerar todos los números de servicio de bus, ID de parada de bus (nombres de estación) después de obtener los detalles de google-places-api, como @ Dr.Molle: dijo.

Abra la página web de detalles [''result''] [''url''], y luego XPath la cadena de la lista de identificación del bus.

A continuación se muestra un ejemplo para obtener la información del autobús de Taipei alrededor de una ubicación (latitud, longitud). Implementación más detallada en https://github.com/MikimotoH/gisTools/blob/master/google_place.py

places = get_web_json( ''https://maps.googleapis.com/maps/api/place/nearbysearch/json?'' + ''key=%s&location=%f,%f'' % (apikey, lat, lng) + ''&rankby=distance&language=zh-TW&types=bus_station'') if places[''status''] == ''OK'': for result in places[''results'']: placeid = result[''place_id''] detail = get_web_json( ''https://maps.googleapis.com/maps/api/place/details/'' + ''json?key=%s&placeid=%s'' % (apikey, placeid) + ''&language=zh-TW'') station = detail[''result''][''name''] loc = detail[''result''][''geometry''][''location''] buspage = get_webpage(detail[''result''][''url'']) tree = lxml.html.document_fromstring(buspage) bus_elm = tree.xpath("/html/body/div[1]/div/div[4]/div[4]/div/div/div[2]/div/div[2]/div[1]/div[2]/div/div/div[2]/div/table/tr/td")[0] buses = list(filter(lambda s: len(s.strip()) > 0, bus_elm.text_content().strip().split())) yield (station, float(loc[''lat'']), float(loc[''lat'']), buses)


Agregar y sacar = json a su consulta inicial (http://maps.google.com/maps?q=transit%20stop%20near%20New%20Bugis%20Street%20Singapore&output=json), ¿no es una forma legal de obtener esta información?


Bueno, podrías usar los lugares-API para encontrar las paradas de tránsito más cercanas, me funciona bien para la ubicación dada.

Simplemente haga una solicitud con los parámetros:

  • ubicación ( latlng de la ubicación dada)
  • radio (radio para buscar en metros)
  • tipos (conjunto de tipos válidos, por ejemplo [''bus_station'',''subway_station''] )

Mira el violín: http://jsfiddle.net/doktormolle/aZrvs/

Para obtener más detalles (servicio de autobús, ID de parada de autobús), no tengo ninguna buena idea en este momento.

Debería haber una manera, esos datos en maps.google.com se recuperarán usando AJAX, entonces hay un recurso. Pero mientras no haya una API pública para obtener esos resultados, no sería legal usar este recurso.