我正在使用绘图交互的绘图工具。当用户完成绘制一个对象时,应该停用绘制交互。我在'drawend'事件中尝试使用setActive(false)。但是,似乎抽签互动被过早取消了。例如,如果通过双击完成绘图,则会触发缩放交互。 我的解决方法是设置超时,如下所示:
drawTool = new ol.interaction.Draw({
features: drawOverlay.getFeatures(),
type: activeTool,
style: style
});
drawTool.on('drawend', function(e) {
setTimeout(function(){drawTool.setActive(false);},100);
});
有更好的方法吗?
答案 0 :(得分:1)
尝试这种方式:
source.on('addfeature', function(evt){
drawTool.setActive(false);
});
如果您需要检查添加的功能是否来自绘制交互,那么您需要更多代码。如果这是你的情况,请告诉我。
答案 1 :(得分:0)
显然问题已经在ol3中列为issue。时间延迟似乎是当前的解决方法。