更新Leaflet GeoJson图层并维护选定的功能弹出窗口

时间:2015-07-22 05:45:30

标签: leaflet geojson

我有一张leaflet地图,我正在刷新来自服务器的新数据。您可以点击地图功能,popup将显示该点。每次刷新时,我都会使用layer删除map.removeLayer,使用L.geoJson添加新数据,但弹出窗口会消失。我希望弹出窗口能够保持活动状态。我知道这可能不会像删除layer那样按照我的方式工作。还有另一种方法可以刷新图层数据并维护所选的功能弹出窗口吗?

这是我从服务器获取新数据后调用的刷新函数。

function refreshMapLocations() {
    map.removeLayer(locationLayer);    
    locationLayer = L.geoJson(locations, {
        onEachFeature: onEachFeature
    }).addTo(map);  
}

这会为每个功能

创建弹出窗口
function onEachFeature(feature, layer) {
    if (feature.properties && feature.properties.UserName) {
        layer.bindPopup(feature.properties.UserName);
    }
}

1 个答案:

答案 0 :(得分:0)

这很有用,我会跟踪我在弹出内容中设置的ID。添加图层后,我会存储Popup的{​​{1}}并对其clickedId进行存储。

popupOpen