縹緲止盈
2022-01-20 20:42:07
關(guān)于我之前的問題傳單檢查和禁用 GeoJSON 子層故障排除和這里https://gis.stackexchange.com/questions/343444/leaflet-geojson-sublayers-checked-on-off/我決定去掉這段代碼,然后發(fā)現(xiàn)是哪一行特別導(dǎo)致了這個(gè)問題 (document.querySelector("input[name=infill]").addEventListener('change', function() { if (this.checked) map.addLayer(infill); else map.removeLayer(infill); }))在這種情況下,線路 else map.removeLayer(infill);會(huì)導(dǎo)致問題。這意味著,有什么問題map.removeLayer(infill)。有人可以建議嗎?
2 回答

神不在的星期二
TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
在刪除圖層之前添加波紋管條件
if(map.hasLayer(infill)) {
map.removeLayer(infill);
}

catspeake
TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
如果您要經(jīng)常這樣做,實(shí)用程序函數(shù)將有助于簡化您的代碼,如下所示:
(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);
}
}
添加回答
舉報(bào)
0/150
提交
取消