Leaflet-根据变量添加和删除列表中的所有图层
Leaflet- add and remove all layers in list based on variable
首先让我声明我不是很擅长 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 语句)上工作正常,但我无法通过列表第一层中的所有层将其到达 运行。
如果有人有任何想法,我会很感激。
i 是一个整数值,不是一个图层。所以 map.hasLayer(i)
和 map.removeLayer(i)
接受了错误的参数类型。尝试使用 map.hasLayer(one[i])
和 map.removeLayer(one[i])
编辑:还有 map.addLayer(one[i])
首先让我声明我不是很擅长 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 语句)上工作正常,但我无法通过列表第一层中的所有层将其到达 运行。
如果有人有任何想法,我会很感激。
i 是一个整数值,不是一个图层。所以 map.hasLayer(i)
和 map.removeLayer(i)
接受了错误的参数类型。尝试使用 map.hasLayer(one[i])
和 map.removeLayer(one[i])
编辑:还有 map.addLayer(one[i])