popup - 可拖动的传单弹出窗口
问题描述
所以我现在向传单多边形添加了一个弹出窗口,并添加了显示和隐藏 onClick。现在我需要的是当单击并显示弹出窗口时,我希望弹出窗口甚至可以拖动到传单层之外。
解决方案不必完全依赖传单,我只是在单击图层时创建一个可拖动的弹出窗口,我已经尝试将 jQuery ui-draggable 添加到传单弹出窗口,但它似乎不起作用。
解决方案
我有一个类似的问题并使用了解决方案https://plnkr.co/edit/S1GPRm6sNwGDkD6oSCHs?p=preview&preview链接在这里https://github.com/Leaflet/Leaflet/issues/5982
但是,它不允许您将弹出窗口拖出地图。
function makeDraggable(popup){
var pos = map.latLngToLayerPoint(popup.getLatLng());
L.DomUtil.setPosition(popup._wrapper.parentNode, pos);
var draggable = new L.Draggable(popup._container, popup._wrapper);
draggable.enable();
draggable.on('dragend', function() {
var pos = map.layerPointToLatLng(this._newPos);
popup.setLatLng(pos);
});
}
map.on('click', function(event) {
var popup = L.popup()
.setLatLng(event.latlng)
.setContent('<p>Hello world!<br />This is a nice popup.</p>')
.openOn(map);
makeDraggable(popup);
});
});
推荐阅读
- internet-explorer - 基于处理器架构编辑/安装注册表文件 (.reg)
- python - Python在文件中匹配后替换单词
- excel - 在 Outlook 中粘贴 Excel 范围
- machine-learning - 如何检查文本是否有信息请求
- sql - 需要帮助回答有关 sql 数据完整性的问题
- python - 打印嵌套字典中的数字产品
- javascript - 如何使用 ES6 Javascript 类验证和显示表单数据
- github - github克隆分支和合并过程
- c# - 如何使用 selenium webdriver 自动化 Kendo UI 下拉菜单?
- javascript - 为 React-Data-Grid 编写自定义编辑器的问题