2017-06-16 50 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

或任何其他可能出现的问题将是国际泳联我。 –

回答

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); 
    } 
相关问题