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

Leaflet- add and remove all layers in list based on variable

本文关键字:列表 图层 删除列 删除 变量 添加 传单      更新时间:2023-09-26

首先让我声明我不太擅长Javascript,我有一种感觉,这是一个简单的格式问题。

我正在尝试根据变量向地图添加和删除图层; 在本例中为 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 语句),但我无法让它贯穿列表一中的所有层。

如果有人有任何想法,我会赞赏它。

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

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