map.events.register("featureclick", map, function(e){
}
我想仅针对单击而不是双击来触发此事件。
在openlayer中有可能吗?我怎么能做到这一点?
答案 0 :(得分:0)
您可以尝试类似下面的代码,
map.on('click', function(evt){
var feature = map.forEachFeatureAtPixel(evt.pixel,
function(feature, layer) {
//yourCode ;
});
});
当您单击地图时,上面的代码会将其关联图层的每个要素传递到标记为// yourcode的区域。然后,如果您只希望这可以处理来自certian层的功能,则可以对图层变量使用if语句。
答案 1 :(得分:0)
根据openlayers API,如果我们在地图上使用click事件监听器,它将在地图上双击两次。供参考https://docs.gradle.org/3.4.1/userguide/gradle_daemon.html
所以我建议使用 singleclick 事件,当我们双击地图时它不会触发两次。供参考see click event.
org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=524m
请注意,此事件会延迟250毫秒,以确保不是双击。