我想让一个ol.overlay是可拖动的,但我无法做到这一点。我发现这个例子(http://openlayers.org/en/v3.2.1/examples/drag-features.html?q=drag),但它使用ol.Features完成,我需要的是覆盖,因为我可以使用自定义-html div-来显示我需要的东西。我还发现了一个非常有趣的例子,它能够做我想做的事,但它使用谷歌地图v3完成,我需要它为ol3。
在此先感谢。我们可以在OpenLayers 3上制作ol.Overlay吗?
1
A
回答
0
UPDATE:
有没有必要这个ol.Map.prototype.forEachOverlayAtPixel
方法(见https://github.com/openlayers/ol3/issues/5760)。
只需在DOM叠加层元素上注册一个mousedown
侦听器,就可以开始了。 Fiddle updated。
ol.Overlay
是一个贫穷的类型OL3但有一些工作,是的,你可以实现它。 ol.Feature
是全能的,如果你真的需要ol.Overlay
我想出了这个demo fiddle。
的理念是:
监听
pointerdown
地图事件,并检查是否有在点击像素叠加;ol.Map.prototype.forEachOverlayAtPixel
- 只是问题
停用
ol.interaction.DragPan
创造 - 地图平移;收听
pointermove
并设置覆盖位置;收听
pointerup
并恢复ol.interaction.DragPan
;
1
您可以简单地在叠加层的div上注册'mousedown'事件监听器。在该监听器中,在窗口上注册'mousemove'和'mouseup'事件。要更新'mousemove'上的位置,请使用将'mousemove'事件作为参数的ol.Map#getEventPixel()
方法。在'mouseup'上,你只需取消注册窗口监听器。
marker_el.addEventListener('mousedown', function(evt) {
function move(evt) {
marker.setPosition(map.getEventCoordinate(evt));
}
function end(evt) {
window.removeEventListener('mousemove', move);
window.removeEventListener('mouseup', end);
}
window.addEventListener('mousemove', move);
window.addEventListener('mouseup', end);
});
查看http://jsfiddle.net/rnzgfg89/6/的工作示例。
相关问题
- 1. OpenLayers - 在ol.Overlay上添加点击事件
- 2. 我们可以在PhoneGap上制作家庭替代应用吗?
- 3. 我们可以在cfgrid中制作可折叠的行吗?
- 4. 我可以制作TextInput吗?
- 5. 我们可以放大缩小我们在画布上绘制的图画吗?
- 6. 我们可以在angularjs中制作自定义过滤器吗?
- 7. 我们可以在Laravel 5中制作Bundle Css和Javascript吗?
- 8. 我们可以自动复制* .dll.config吗?
- 9. 我们可以用2个动作制作1个UIButton吗?
- 10. 我们可以在Visual Studio 2010上工作Telerik 2010版本吗
- 11. Android O:我们可以制作一个时钟小部件吗?
- 12. 我们可以用angularjs制作隐藏的路线吗?
- 13. 我们可以重载MVC控制器的动作方法吗?
- 14. 我们可以在asp.net mvc 3中同时调用两个actionresult /控制器吗?
- 15. Openlayers 3 - 在地图上限制可能的缩放级别
- 16. 我们可以使用Selenium 3在远程机器上驱动浏览器吗?
- 17. 我们可以在Flash中拥有4个以上的stage3D吗?
- 18. 我们可以强制在APScheduler作业存储中运行作业吗?
- 19. 我们可以在作用域构建器中作用域吗?
- 20. 我们可以在我的Windows 8 O.S上安装SharePoint 2013吗?
- 21. 我们可以在脸书上墙上传文章吗?
- 22. 我可以在卷曲连接上制作多个请求吗?
- 23. 我可以在手机上制作AD-HOC网络吗?
- 24. 我可以在highchart上制作径向标签吗?
- 25. ol.Overlay滚动地图上的IE和Firefox
- 26. ReSharper:我可以制作自己的上下文动作吗?
- 27. 我们可以限制在我们的设备中安装.apk文件吗?
- 28. 我可以用python 3.2制作pylibmc吗?
- 29. 我可以自己制作网站吗?
- 30. 我可以制作一个“图层”吗?
嗨,谢谢,它真的帮助了我!
Regards :) – Alberto