似乎很简单,但我似乎错过了一些东西。当页面加载时,我不确定将创建哪些图层(脚本化)。我可以有多个图层。我有一个创建每个图层时创建的单选按钮组。我希望这些能够允许用户单独查看它们。假设我有三个地图图层
layer1.setMap(map1);
layer2.setMap(map1);
layer3.setMap(map1);
我构建了这样的动态单选按钮(见下文。第1层的示例,但其余部分也是如此)
$('#tools').append('Layer1<input name="Layer1" type="radio" value="layer1" onClick="toggleLayer(layer1)"><br />');
}
我的toggleLayer是我遇到问题的地方?我怎样才能隐藏它们并进行单击显示。
function 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);
}
我试图找出哪些图层正在打开,如果是,则隐藏它们。我不能只是禁用整个地图而不是逐层进行? 这里的示例页面。请注意我的示例页面上我正在尝试使用两个地图。当我尝试设置只有一个地图的图层时,我当前的技术有效,但当我尝试用两个地图执行时,它会中断。对于我需要的东西来说似乎太复杂了。
答案 0 :(得分:1)
这是我之前发布的答案https://stackoverflow.com/a/11108342/1211981,它显示了切换Fusion Table图层的简单方法。 I.E.看它是否打开,如果没有打开,如果打开它。希望您可以为您的目的修改它。它适用于任何FT层。
答案 1 :(得分:0)
我错过了一个变量,使其可以使用两个地图。错误不是在图层的开启和关闭,而是重新分配图层名称!