jam*_*ing 4 popup drag leaflet
在我的应用程序中,我向地图添加一个临时可拖动标记并打开其弹出窗口。我发现当拖动标记时,弹出窗口会关闭。为了解决这个问题,我按照强制传单弹出窗口添加了代码,以便在移动可拖动标记时保持打开状态
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();
});
Run Code Online (Sandbox Code Playgroud)
但是,我还想确保如果用户手动关闭弹出窗口(使用标准的右上角“x”),临时标记将从地图中删除。所以我添加了...
marker.on('popupclose', function(e) {
map.removeLayer(marker);
});
Run Code Online (Sandbox Code Playgroud)
...但是,拖动标记时也会触发。因此,一旦用户尝试通过拖动标记来重新定位标记,它就会完全消失。
有没有办法区分这两个事件,以便我可以以不同的方式处理它们?或者回到最初的问题,在拖动标记时禁用 popupclose 发生吗?
我遇到了同样的问题,我通过这样做来解决它,以区分这两个事件:
marker._popup._closeButton.onclick = function( ){
console.log("click closed ");
map.removeLayer(marker);
}
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/Zoubir/v71Lhn5s/
| 归档时间: |
|
| 查看次数: |
7968 次 |
| 最近记录: |