代码之家  ›  专栏  ›  技术社区  ›  Enrico Casanova

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

  •  0
  • Enrico Casanova  · 技术社区  · 7 年前

    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 回复  |  直到 7 年前
        1
  •  1
  •   Alexander Higgins    7 年前

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

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