关于我之前的问题
Leaflet checking and disabling GeoJSON sublayers troubleshoots
在这里
https://gis.stackexchange.com/questions/343444/leaflet-geojson-sublayers-checked-on-off/
我决定将这段代码删除,然后找出导致问题的具体行
mvn dependency:tree -Dscope=compile
在这种情况下,行 (document.querySelector("input[name=infill]").addEventListener('change', function() {
if (this.checked) map.addLayer(infill);
else map.removeLayer(infill);
}))
会引起问题。这意味着else map.removeLayer(infill);
出了点问题。
有人可以建议吗?
感谢与问候
答案 0 :(得分:1)
在删除图层之前添加波纹管条件
if(map.hasLayer(infill)) {
map.removeLayer(infill);
}
答案 1 :(得分:0)
如果您打算做很多事情,实用程序功能将帮助简化您的代码,如下所示:
(document.querySelector("input[name=infill]").addEventListener('change', function() {
switchLayer(infill, this.checked);
}
function switchLayer(layer, state) {
if (state && !map.hasLayer(layer) {
map.addLayer(layer);
}
else if (!state && map.hasLayer(layer)) {
map.removeLayer(layer);
}
}