Leaflet - 根据变量添加和删除列表中的所有图层

时间:2015-01-14 17:42:03

标签: javascript leaflet

首先让我说明我不是很擅长Javascript,我觉得这是一个简单的格式化问题。

我正在尝试根据变量向地图添加和删除图层;在这种情况下 num 。我有根据点击次数添加或删除 num 的功能。

我可以使用下面代码中的if语句轻松添加和删除一个图层。我想要做的是构建一个图层列表,然后遍历它们并在地图中添加或删除它们。

这就是我所拥有的

 var one = [Township,Section] \\list of layers
 for (i = 0; i < one.length; i++) {
  if (num != 1 && map.hasLayer(i)) {
    map.removeLayer(i);
  }
  if (num == 1 && map.hasLayer(i) == false)
    {
      map.addLayer(i);
    }
  }  

If语句适用于一个图层(没有for语句),但我不能让它在列表一中的所有图层中运行。

如果有人有任何想法我会批评它。

1 个答案:

答案 0 :(得分:1)

i是整数值,而不是图层。因此map.hasLayer(i)map.removeLayer(i)采用了错误的参数类型。尝试使用map.hasLayer(one[i])map.removeLayer(one[i])

编辑:map.addLayer(one[i])