我正在使用openlayers 3.20.0。以下链接将向您展示一个小例子。
click-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"
});
发出' drawstart '和' drawend '事件
但是当我们提出一个观点时,它会发出“单击”字样。地图上的活动也是。我们怎样才能防止这种情况发生不发生声音的问题。画画时。
我知道我们可以删除' singleclick'绘图时的事件监听器,但我不想删除监听器并再次添加。
是否有其他方法可以抑制此事件。
答案 0 :(得分:1)
我遇到了同样的问题。我用unByKey方法解决了这个问题。每个map.on方法都返回一个唯一键。您可以使用map.unByKey(singleclick_key)来停止单击事件。您可以在更长时间内完成绘图后对其进行初始化。
所以,你正在寻找这样的东西:
var singleclick_key= map.on('singleclick', function(evt){
//statements
}
您可以使用以下命令删除此事件:
map.unByKey(singleclick_key);