首先让我说明我不是很擅长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语句),但我不能让它在列表一中的所有图层中运行。
如果有人有任何想法我会批评它。
答案 0 :(得分:1)
i是整数值,而不是图层。因此map.hasLayer(i)
和map.removeLayer(i)
采用了错误的参数类型。尝试使用map.hasLayer(one[i])
和map.removeLayer(one[i])
编辑:map.addLayer(one[i])