我正在使用openlayers 3.20.0。下面的链接将向您显示小例子。
单击 - here。(在示例中,请参见日志的控制台)
我的地图对象为
this.map = new ol.Map({
layers : [ somelayer ],
target : 'map',
view : new ol.View({
center : [ -11000000, 4600000 ],
zoom : 4
})
});
在这里,我已将' singleclick '和' dblclick '在地图上。
,我也在地图上绘制了互动,如下
this.draw = new ol.interaction.Draw({
features : features,
type : "Point"
});
是emits' drawstart '和' drawend 'event。
但是,当我们提出一个点时,它也会在地图上发出" singleclick"事件。我们如何防止在绘画时不发出"单键盘"。
我知道我们可以在绘画时删除" singleclick"事件侦听器,但我不想删除侦听器并再次添加。
还有其他抑制此事件的方法。
我遇到了同样的问题。我用unbykey方法解决了这个问题。每个MAP.ON方法都返回一个唯一的键。您可以使用map.unbykey(singleclick_key)停止单击单击事件。您可以在更高的时间完成图纸后将其初始化。
所以,您正在寻找这样的东西:
var singleclick_key= map.on('singleclick', function(evt){
//statements
}
您可以使用以下命令删除此事件:
map.unByKey(singleclick_key);