切换融合表层:如何在选中新框时清除所有其他复选框

时间:2014-07-11 11:30:38

标签: javascript google-fusion-tables

编辑:使用单选按钮修复,这里有js切换功能,可以在加载此图层之前隐藏所有图层:

function toggleLayer(this_layer){
    layer_0.setMap(null);
    layer_1.setMap(null);
    layer_2.setMap(null);
    this_layer.setMap(map);

}

我使用JavaScript在同一个地图上切换融合表图层,这对我来说很好。但是,就我的目的而言,两个图层不能同时显示(每个融合表图层在渐变上包含彩色形状文件,当它们显示在另一个上面时会产生混乱)。

这是我用来切换融合表层的代码:

function toggleLayer(this_layer){
  if(this_layer.getMap()) {
   this_layer.setMap(null)
  } else {
   this_layer.setMap(map);
  }
}

//And here's the HTML 

<form name="checkbox">
  <input class="menu" type="checkbox" id="show_hide_layer_0" checked onchange="toggleLayer(layer_0); "/>
  <label>layer_0</label>
  <input class="menu" type="checkbox" id="show_hide_layer_1" checked onchange="toggleLayer(layer_1)"/>
  <label>layer_1</label>
   <input class="menu" type="checkbox" id="show_hide_layer_2" checked onchange="toggleLayer(layer_2)"/>
  <label>layer_2</label>
</form>

我需要确保一次只能看到一个融合表层。现在,此代码允许检查所有三个框,这使得所有三个融合表层都可见,从而在地图上造成混乱。

有没有办法在选中新框时取消选中所有其他框?非常感谢帮助。我应该使用单选按钮吗?

1 个答案:

答案 0 :(得分:0)

编辑:使用单选按钮修复,这里是js切换功能,用于在加载此图层之前隐藏所有图层:

function toggleLayer(this_layer){
layer_0.setMap(null);
layer_1.setMap(null);
layer_2.setMap(null);
this_layer.setMap(map);

}