多层融合表中的数字搜索框

时间:2013-05-21 07:35:27

标签: google-fusion-tables

你们都在做什么?

我是一个完整的Fusion Tables API新手,我一直在设置搜索框。这是我的问题:

目标:我想创建一张地图,显示美式橄榄球队的位置以及比利时美式足球俱乐部的位置。

到目前为止我做了什么:本周我开始使用两种不同的叠加层来创建这张地图(来自两个不同的Fusion桌子:一个' Clubs'表与美国人足球队和一个与美式足球迷俱乐部的球迷一起参加比赛。

我还实施了两个可以打开和关闭每个图层的复选框。

我被困在哪里:随着比利时粉丝俱乐部的数量开始增长,我想添加一个搜索框,让我可以只显示至少有x个成员的粉丝俱乐部。

这"过滤器"当然只适用于那个单一的粉丝'层和团队'图层需要保持不变。

在我的粉丝' Fusion Table I列出了每个粉丝俱乐部的会员数量。

问题:有没有办法建立这样一个搜索框'如果我键入" 50"在搜索框中,它只显示至少有50个成员的粉丝俱乐部?

(基本上,我对表格的查询将取决于我在搜索框中输入的值。)

我已经尝试过几篇文章中的指南,但我完全陷入困境: http://gmaps-samples.googlecode.com/svn/trunk/fusiontables/change_query_text_input.html https://developers.google.com/fusiontables/docs/samples/autocomplete

我已添加了目前为止附件中的代码。如果有人能帮我解决这个问题,我将非常感激:

    <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>

非常感谢你的帮助!

周六过得愉快,

安迪

1 个答案:

答案 0 :(得分:0)

您想要的查询是:

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

在layer1上,所以:

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

example