【发布时间】:2012-10-02 21:21:00
【问题描述】:
看起来很简单,但我似乎遗漏了一些东西。当页面加载时,我不确定将创建哪些图层(脚本化)。我可以有多层。我有一个在创建每个图层时创建的单选按钮组。我希望这些能够允许用户单独查看它们。假设我有三个地图层
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 是我遇到问题的地方?我怎样才能将它们全部隐藏并一键显示。
函数切换层(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);
}
我正在尝试找出哪些图层在上面,如果存在,则隐藏它们。我不能只禁用整个地图而不是逐层遍历吗? 示例页面在这里。请注意,在我的示例页面上,我正在尝试使用两张地图。我目前的技术在我尝试只设置一张地图的图层时有效,但当我尝试同时使用两者时会中断。对于我需要的东西来说,脚本似乎太复杂了。
【问题讨论】:
-
wrestore.iupui.edu/Jon/mapScriptTry.html 每次我尝试重绘两张地图时,我基本上都会丢失我的第一张地图。混乱!
标签: javascript google-maps-api-3 google-fusion-tables