Список автобусных остановок от Google Maps - PullRequest
6 голосов
/ 21 августа 2011

Я пытаюсь создать веб-приложение, в котором вы вводите свой адрес, и оно даст вам список автобусных остановок в вашем районе.Я хочу использовать Google Maps для этого, но я не могу найти способ использовать их для этого.Есть ли способ получить список точек на картах, скажем, в формате JSON или XML?Я попробовал Google Maps Places API, но это не сработало.Единственное, что я нашел, это пример - http://gmaps -samples-v3.googlecode.com / svn / trunk / localsearch / place.html но это не то, что мне нужно.кто-нибудь знает?

Ответы [ 4 ]

3 голосов
/ 20 декабря 2012

В Google Places API действительно есть информация об остановке, но вам нужно очень точно сформировать свой запрос, чтобы он работал.

Ключ использует поиск по соседству с rankby = distance и radius = and types =bus_station

Признак ранга по умолчанию редко показывает автобусные станции.

Пример запроса:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=49.89458,-97.14137&sensor=true&key=your_key&rankby=distance&types=bus_station

2 голосов
/ 21 августа 2011

Это не сервис, который предоставляет Google. У них, безусловно, есть все необходимое для записи, но они выполняют все свои вычисления внутри.

Одним из вариантов (который может быть немного сложным) является разработка расписаний общественного транспорта для мест их автобусных остановок. Это может быть вариант, если у вас есть небольшой регион (например, город), который должно поддерживать ваше веб-приложение. Это рискованно, потому что, если страницы меняются, вам придется перенастроить приложение интеллектуального анализа данных, но у вас все равно будет та же проблема, пытаясь добывать данные из Google (или где-то еще) - если вы могли бы найдите способ получить список автобусных остановок с указанием местоположений и построить вокруг него свое приложение, оно может измениться в любое время и сломать ваше приложение.

1 голос
/ 21 августа 2011

Для этого вы можете использовать Google Fusion Tables . Вы должны были бы ввести данные самостоятельно, хотя, если кто-то еще не ввел их. API карт Google поддерживает таблицы Google Fusion.

0 голосов
/ 24 сентября 2016

Я думаю, что это может помочь вам

<script>
  // This example requires the Places library. Include the libraries=places
  // parameter when you first load the API. For example:
  // <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places">

  var map;
  var infowindow;

  function initMap() {
    var pyrmont = {lat: 38.06908229560463,  lng: 46.31730562744135};

    map = new google.maps.Map(document.getElementById('map'), {
      center: pyrmont,
      zoom: 15
    });

    infowindow = new google.maps.InfoWindow();
    var service = new google.maps.places.PlacesService(map);
    service.nearbySearch({
      location: pyrmont,
      radius: 1000,
      types: ['bus_station','transit_station']

    }, callback);
  }

  function callback(results, status) {
    if (status === google.maps.places.PlacesServiceStatus.OK) {
      for (var i = 0; i < results.length; i++) {
        createMarker(results[i]);
      }
    }
  }

  function createMarker(place) {
    var placeLoc = place.geometry.location;
    var marker = new google.maps.Marker({
      map: map,
      position: place.geometry.location
    });

    google.maps.event.addListener(marker, 'click', function() {
      infowindow.setContent(place.name);
      infowindow.open(map, this);
    });
  }
</script>
...