传单 - 在添加新地图层之前删除所有地图层
Leaflet - remove all map layers before adding a new one
正如标题所说,我在添加新地图之前删除地图时遇到问题,我有这个函数,它绘制了 Spinner 给出的图块(参数值是具有正确的传单图块名称的字符串):
function drawMap(tile){
map.addLayer(tile);
map.eachLayer(function (layer) {
if (layer !== tile) {
map.removeLayer(layer);
}
});
}
变量映射是这样初始化的,不会产生问题:
var map = L.map('map').fitBounds([
[myPosJSON.NEBoundLat, myPosJSON.NEBoundLng],
[myPosJSON.SWBoundLat, myPosJSON.SWBoundLng]
]);
如何修复 drawMap() 函数以正确显示地图? (我也必须用一组 Overlays 来做,但是对于地图来说过程可能是一样的)
不要在添加新图层后检查名称,而是尝试先删除所有图层,然后再添加新图层:
function drawMap(tile){
map.eachLayer(function (layer) {
map.removeLayer(layer);
});
map.addLayer(tile);
}
正如标题所说,我在添加新地图之前删除地图时遇到问题,我有这个函数,它绘制了 Spinner 给出的图块(参数值是具有正确的传单图块名称的字符串):
function drawMap(tile){
map.addLayer(tile);
map.eachLayer(function (layer) {
if (layer !== tile) {
map.removeLayer(layer);
}
});
}
变量映射是这样初始化的,不会产生问题:
var map = L.map('map').fitBounds([
[myPosJSON.NEBoundLat, myPosJSON.NEBoundLng],
[myPosJSON.SWBoundLat, myPosJSON.SWBoundLng]
]);
如何修复 drawMap() 函数以正确显示地图? (我也必须用一组 Overlays 来做,但是对于地图来说过程可能是一样的)
不要在添加新图层后检查名称,而是尝试先删除所有图层,然后再添加新图层:
function drawMap(tile){
map.eachLayer(function (layer) {
map.removeLayer(layer);
});
map.addLayer(tile);
}