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