2
在我的應用程序中,我添加一個臨時拖動標記到地圖並打開它的彈出窗口。我發現當標記被拖動時,彈出窗口關閉。爲了解決這個問題,我添加的代碼按Force Leaflet popup to stay open when a draggable marker is moved傳單popuphlose事件觸發,同時拖動標記
var marker = new L.Marker([setLat, setLng], {icon:questionIcon, draggable:true});
marker.bindPopup("popup content").addTo(map).openPopup();
marker.on('dragend', function(e) {
marker.openPopup();
});
不過,我也想確保,如果用戶手動關閉彈出(使用標準的「X」的右上方),臨時標誌是從地圖中刪除。所以我補充說...
marker.on('popupclose', function(e) {
map.removeLayer(marker);
});
......但是,這也會在拖動標記時觸發。因此,只要用戶試圖通過拖動標記來重新定位標記,它就會完全消失。
是否有辦法區分這兩個事件,以便我可以以不同方式處理它們?或者回到原來的問題,當拖動標記時禁用popupclose發生?