Leaflet - 在添加新地图之前删除所有地图图层

问题描述:

如标题所示,我在添加新地图之前删除地图时遇到问题,我使用此函数绘制由Spinner给出的图块(参数值是带有正确的小叶贴图的字符串名):Leaflet - 在添加新地图之前删除所有地图图层

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()函数来正确显示的地图? (我也必须使用一组覆盖图来完成,但对于地图来说,过程可能相同)

而不是在添加新图层后检查名称,请尝试先删除所有图层,然后添加新图层:

function drawMap(tile){ 
    map.eachLayer(function (layer) { 
     map.removeLayer(layer); 
    }); 
    map.addLayer(tile); 
}