我正在寻找一种在单个拖动动作中绘制矩形的方法,因此用户单击并按住鼠标然后移动鼠标并且矩形在他去的时候绘画并且当他完成绘图时停止按下鼠标。 目前,它是使用鼠标点击完成的 - >拖动 - >鼠标再次单击完成,不是那么直观。
我使用的是最新的OpenLayers 3。
谢谢!
答案 0 :(得分:0)
不使用内置交互,而是使用https://github.com/openlayers/ol3/blob/master/src/ol/interaction/dragzoom.js的实例,但传递选项/条件以不使用shift键。以下是条件https://github.com/openlayers/ol3/blob/master/src/ol/events/condition.js
答案 1 :(得分:0)
所要求的功能已存在于最新的openlayers版本(v3.19)中。使用ol.interaction.Draw.createBox()
创建一个矩形,其中一个用于开始,另一个用于结束。有关详细信息,请参阅以下示例
http://openlayers.org/en/latest/examples/draw-shapes.html?q=draw
您可以通过创建样式对象并在ol.interaction.Draw()中声明它来为矩形创建样式。
答案 2 :(得分:0)
您是否研究过DragBox互动?这将为用户提供框的轮廓,因为他们通过单击,拖动和释放作为交互来绘制它。