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 是我遇到问题的地方?我怎样才能将它们全部隐藏并进行一键式显示。

功能切换层(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

4

2 回答 2

1

这是我不久前发布的答案https://stackoverflow.com/a/11108342/1211981,它显示了一种切换 Fusion Table 图层的简单方法。IE看它是否打开,如果没有打开它,如果它关闭它。希望您可以根据自己的目的对其进行修改。它适用于任何 FT 层。

于 2012-10-03T00:09:13.783 回答
0

我缺少一个变量以使其与两张地图一起使用。错误不在图层的打开和关闭,而是重新分配图层名称!

于 2012-10-02T22:38:56.527 回答