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

时间:2017-07-19 08:37:42

标签: javascript android maps leaflet layer

标题说我在添加新地图之前删除地图时遇到问题,我有这个函数,它绘制Spinner给出的tile(参数值是带有正确的leaflet tile名称的字符串):

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()函数以正确显示地图? (我还必须使用一组叠加层来完成它,但是地图的过程可能相同)

1 个答案:

答案 0 :(得分:0)

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

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