如何抑制'Single-Click'事件 在地图上绘图时在打开层 3 中



我正在使用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);

最新更新