选择Country Bounders查询代码

时间:2017-06-16 07:51:46

标签: html google-maps google-maps-api-3

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中有这个查询功能,它帮助我在我的地图中显示国家/地区:

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;

我猜我需要添加listner来点击:

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

但我的融合表层不是一个函数。我无法做到这一点。我的fusiontableslayer也在函数initMap()中。我怎么能用国家参数做到新功能?

1 个答案:

答案 0 :(得分:0)

我解决了..

&#xA;&#xA;
  function choosecountry(map){&#xA;&#xA; if(layer){//如果地图已经绘制过。&#xA; layer.setMap(NULL);&#XA; }&#XA; var nationName = document.getElementById('nation')。value;&#xA; var nationNameAll ='name_0 = \''+ nationName +'\'';&#xA; layer = new google.maps.FusionTablesLayer(&#xA; {&#xA; query:&#xA; {&#xA; select:'name_0',&#xA; from:'420419',&#xA;其中:nationNameAll&#xA;},&#xA; styles:[&#xA; {&#xA; polygonOptions:&#xA; {&#xA; fillColor:'#100C0C',&#xA; fillOpacity:0.2&# xA;}&#xA;}]&#xA;});&#xA; layer.setMap(地图);&#XA; }&#XA;  
&#XA;