2017-06-16 6 views
0
var layer = new google.maps.FusionTablesLayer(
     { 
      query: 
      { 
      select: 'name_0, name_1, kml_4326', 
      from: '420419', 
      where: 'name_0=\'Mexico\'' 
      }, 
      styles: [ 
      { 
      polygonOptions: 
       { 
      fillColor: '#100C0C', 
       fillOpacity: 0.2 
      } 
      }] 
     }); 

を選択する私はここのように私マップに私のショーの国を助けている私のhtmlでこのクエリ機能を持っている:は国Boundersクエリコードに

Image 1

だから、それは私のプロジェクトのためにとても便利です。私はこのクエリにパラメータを追加したい。私はクエリの意味: 'name_0 = \' メキシコ \ 'この部分は私のパラメータに従って変更することができます。私がここにロシアを書くときのように、ロシアにはメキシコの変化がありますので、地図で私はこの視覚を持っています。これを行うための

Image 2

私は、テキストボックスを追加しました。

<div id="nation-panel"> 
    <input id="nation" type="placeholder" value="Mexico"> 
    <input id="submit" type="button" value="Find"> 
</div> 

と、このコードによって彼の値を取得する:と私はこのようなそのテキストボックスの値を得た

var nation1= document.getElementById('nation').value; 

と私はクリックのためのリスナーを追加する必要があると思います:

document.getElementById('submit').addEventListener('click', function() 
    { 
     // here i need function 
    }); 

しかし私の融合表層は機能ではありません。私はそれをすることができません。また、関数initMap()の私のfusiontableslayer。どのように私はそれを国家パラメータで新しい機能にすることができますか?

+0

または任意の他の可能なクエリは、私のためにFINAになります。 –

答えて

0

私は解決..

function choosecountry(map){ 

     if(layer){ //if the map already painted. 
     layer.setMap(null); 
     } 
     var nationName = document.getElementById('nation').value; 
     var nationNameAll = 'name_0=\''+ nationName +'\''; 
     layer = new google.maps.FusionTablesLayer(
     { 
     query: 
     { 
     select: 'name_0', 
     from: '420419', 
     where: nationNameAll 
     }, 
      styles: [ 
      { 
      polygonOptions: 
      { 
      fillColor: '#100C0C', 
      fillOpacity: 0.2 
      } 
      }] 
     }); 
     layer.setMap(map); 
    }