2
我有一个leaflet
地图,我刷新从服务器的新数据。您可以点击地图功能,并会显示popup
。每次刷新时,我使用map.removeLayer
删除layer
,使用L.geoJson
添加新数据,但弹出消失。我希望弹出窗口能够保持新数据的活跃状态。我知道这可能不会按照我的方式去除layer
。有没有另外一种方法来刷新图层数据并保持选定的功能弹出?更新传单GeoJson图层并保持选定的功能弹出
这是我从服务器获取新数据后调用的刷新函数。
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);
}
}
在刷新图层之前保存所选功能的ID,然后在刷新图层后以编程方式打开弹出窗口。它会解决你的问题吗?保持弹出窗口打开而删除功能没有任何意义。 – muzaffar
这是我的想法,如果没有一种方式让传单API来做到这一点。 – Heinrich