2012-10-02 71 views
0

似乎很简单,但我似乎错过了一些东西。当页面加载时,我不确定哪些图层将被创建(脚本化)。我可以打开多个图层。我有一个创建每个图层时创建的单选按钮组。我希望这些能够让用户分别查看它们。比方说,我有三个图层隐藏显示融合图层

layer1.setMap(map1); 
layer2.setMap(map1); 
layer3.setMap(map1); 

我建我的动态单选按钮,这样的(见下例为layer1的,而是做了同样的其余部分)

$('#tools').append('Layer1<input name="Layer1" type="radio" value="layer1" onClick="toggleLayer(layer1)"><br />'); 
} 

我toggleLayer是我有问题吗?我怎样才能隐藏他们所有的,并做出一个点击的节目。

功能toggleLayer(this_layer){

if (typeof layer1 === 'undefined') { 
// variable is undefined 
    }else 
    {layer1.setMap(null); 

} 

if (typeof layer2 === 'undefined') { 
// variable is undefined 
    }else 
    {layer2.setMap(null); 

} 

if (typeof layer3 === 'undefined') { 
// variable is undefined 
    }else 
    {layer3.setMap(null); 
} 


    //alert(this_layer); 
    this_layer.setMap(map1); 

} 

我试图找出哪些层上,如果他们,隐藏起来。我不能只是禁用整个地图,而不是逐层地进行? 示例页面在这里。注意我的示例页面我正在尝试使用两张地图。我现在的技术在我尝试设置只有一个地图的图层时起作用,但当我尝试并使用这两个图层时,该图层会中断。似乎对于我所需要的脚本来说太复杂了。

http://wrestore.iupui.edu/Jon/mapScriptTry.html

+0

http://wrestore.iupui.edu/Jon/mapScriptTry.html每当我尝试重绘这两张地图时,我基本上都会丢失我的第一张地图。混乱! – jeynon

回答

0

我错过了一个变量,使其与两个映射工作。错误不在图层的开启和关闭中,而是重新指定图层名称!

1

这是我前段时间发布的一个答案https://stackoverflow.com/a/11108342/1211981,它显示了切换Fusion Table图层的简单方法。 I.E.看看它是否开启,如果不开启,关闭它。希望你可以为你的目的修改它。它适用于任何FT层。