0

皆さんお元気ですか?

私は Fusion Tables API の完全な初心者であり、検索ボックスの設定に行き詰まっています。これが私の質問です:

目標: ベルギーのアメリカン フットボール チームの場所とアメリカン フットボール ファン クラブの場所を示すマップを作成したいと思います。

これまでに行ったこと: 今週、2 つの異なるオーバーレイを使用してこのマップの作成を開始しました (2 つの異なるフュージョン テーブルから作成されます。1 つはアメリカン フットボール チームの「Clubs」テーブル、もう 1 つはアメリカン フットボール チームの「Fans」テーブルです)。ファンクラブ)。

また、各レイヤーのオンとオフを切り替えることができる 2 つのチェックボックスも実装しました。

行き詰まっているところ: ベルギーでファン クラブの数が増え始めるので、検索ボックスを追加して、メンバー数が x 以上のファン クラブのみを表示できるようにしたいと考えています。

もちろん、この「フィルター」はその単一の「ファン」レイヤーにのみ適用され、「チーム」レイヤーは変更されないままにする必要があります。

私の「ファン」フュージョン テーブルには、ファン クラブごとのメンバー数の列があります。

質問: 検索ボックスに「50」と入力すると、メンバーが 50 人以上のファン クラブのみが表示される「検索ボックス」フィルターを作成する方法はありますか?

(したがって、基本的に、テーブルに対して行うクエリは、検索ボックスに入力する値に依存します。)

いくつかの記事のガイドラインに従ってみましたが、完全に行き詰まっています: http://gmaps-samples.googlecode.com/svn/trunk/fusiontables/change_query_text_input.html https://developers.google.com/fusiontables/ドキュメント/サンプル/オートコンプリート

これまでに添付したコードを追加しました。誰かがこれで私を助けることができれば、私はとても感謝しています:

    <html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="UTF-8">
    <h3>American Football in Belgium</h3>
    <style type="text/css">
      html { height: 100% }
      body { height: 100%; margin: 0; padding: 0 }
      #map_canvas { height: 100% }
    </style>
    <script type="text/javascript"
      src="http://maps.google.com/maps/api/js?key=AIzaSyDjB2uAt9B6cFcUiJAgANg63qNQtiF6v24&sensor=false"></script>
    <script type="text/javascript">
    function toggleLayer(this_layer){
      if(this_layer.getMap()) {
        this_layer.setMap(null)
      } else {
        this_layer.setMap(map);
      }
    }
   var layer1=null;
   var layer2=null;
   var map=null;

    function initialize() {
      map = new google.maps.Map(document.getElementById("map_canvas"), {
        center: new google.maps.LatLng(50.809406, 4.498901),
        zoom: 9,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      });
      layer1 = new google.maps.FusionTablesLayer({
        query: {
          select: 'Fans Location',
          from:'1_n9DXwEAdVtmHhvypRxpjgk7DMJVbmBbYgsUfdQ'
        },
        map: map
      });
      layer2 = new google.maps.FusionTablesLayer({
        query: {
          select: 'Club Location',
          from:'1waRLQMKE1bJKNT4qBesLQUNcjbezPeln6z1XQKA'
        },
        map: map
      });
    }
  </script></head>
  <body onload="initialize();">
    <div>
      <input type="checkbox" id="show_hide_layer1" checked onchange="toggleLayer(layer1)"/>
      <label> Fans </label>
      <input type="checkbox" id="show_hide_layer2" checked onchange="toggleLayer(layer2)"/>
      <label> Clubs </label>
    </div>
    <div id="map_canvas" style="width:80%; height:80%"></div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> 
</script> 
  </body>
</html>

手伝ってくれてどうもありがとう!

よい土曜日を、

アンディ

4

1 に答える 1

0

必要なクエリは次のとおりです。

      query: {
        select: 'Fans Location',
        from:'1_n9DXwEAdVtmHhvypRxpjgk7DMJVbmBbYgsUfdQ',
        where: "'Number' > "+numFans
      }

レイヤー1では、次のようになります。

    layer1.setOptions({
      query: {
        select: 'Fans Location',
        from:'1_n9DXwEAdVtmHhvypRxpjgk7DMJVbmBbYgsUfdQ',
        where: "'Number' > "+numFans
      }
    });

于 2013-05-21T07:52:02.847 に答える