8

住所を入力すると、お住まいの地域のバス停のリストが表示される Web アプリを構築しようとしています。これに Google マップを使用したいのですが、これを使用する方法が見つかりません。マップ上のポイントのリストを JSON または XML 形式で取得する方法はありますか? Google Maps Places API を試しましたが、このようには機能しませんでした。私が見つけたのはこの例だけです - http://gmaps-samples-v3.googlecode.com/svn/trunk/localsearch/places.htmlしかし、それは私が必要とするものではありません。

それで、誰か知っていますか?

4

5 に答える 5

3

Google Places APIには停止情報がありますが、それを機能させるには、非常に具体的にクエリを作成する必要があります。

重要なのは、rankby=distanceおよびradius=および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

于 2012-12-20T18:49:22.567 に答える
3

私はそれがあなたを助けることができると思います

<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>
于 2016-09-24T10:14:40.740 に答える
2

これは Google が提供するサービスではありません。必要なものはすべて記録されていますが、すべての計算は内部で行っています。

1 つのオプション (少し難しいかもしれません) は、公共交通機関の時刻表を調べてバス停の場所を特定することです。Web アプリがサポートする小さな地域 (都市など) がある場合は、オプションになる可能性があります。ページが変更された場合、データ マイニング アプリケーションを再構成する必要があるため危険ですが、Google (または別の場所) からデータをマイニングしようとすると、同じ問題が発生します。場所を含むバス停リストを作成し、それを基にアプリを構築すると、いつでも変更され、アプリケーションが壊れる可能性があります。

于 2011-08-21T15:30:46.757 に答える
1

これにはGoogle Fusion Tablesを使用できます。ただし、他の誰かが既に入力していない限り、自分でデータを入力する必要があります。Google マップ API は Google フュージョン テーブルをサポートしています。

于 2011-08-21T18:57:43.217 に答える