2013-05-21 52 views
0

你們都好嗎?帶有多層的融合表中的數字搜索框

我是一個完整的Fusion Tables API新手,我堅持設置搜索框。這裏是我的問題:

目標:我想創建一個地圖,顯示美國橄欖球隊的位置和美國足球迷俱樂部在比利時的位置。

我到目前爲止所做的工作:本週我已經開始使用兩個不同的疊加層(來自兩個不同的融合表:來自美式橄欖球隊和'Fans'桌的'Clubs'桌子與美式足球迷俱樂部)。

我也實現了兩個可以打開和關閉每個圖層的複選框。

我卡在哪裏:隨着粉絲俱樂部的數量將在比利時開始增長,我想添加一個搜索框,使我可以顯示至少有x個成員的粉絲俱樂部。

這個「過濾器」當然只適用於單個'粉絲'層和'團隊'層需要保持不變。

在我的粉絲聚合表中,我有一個每個粉絲俱樂部成員數量的專欄。

問:有沒有什麼方法可以建立這樣一個「搜索框」過濾器,如果我在搜索框中輸入「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> 

非常感謝你的幫助!

有一個愉快的週六

安迪

回答

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

+0

謝謝你太多了是!這正是我所期待的! – user2404427

+0

如果這回答你的問題,請[接受它](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – geocodezip