[英]How to register an event “feature click” only for single click in openlayer?
map.events.register("featureclick", map, function(e){
}
我只想單擊一次而不是雙擊來觸發此事件。
在openlayer中有可能嗎? 我該怎么做?
您可以嘗試以下代碼,
map.on('click', function(evt){
var feature = map.forEachFeatureAtPixel(evt.pixel,
function(feature, layer) {
//yourCode ;
});
});
當您單擊地圖時,上面的代碼會將每個要素的關聯層傳遞到標記為//您的代碼的區域。 然后,如果僅希望此變量對certian圖層中的要素起作用,則可以對圖層變量使用if語句。
根據openlayers API,如果我們在地圖上使用click事件偵聽器,則它將雙擊兩次以調用地圖。 作為參考, 請參見click事件。
因此,我建議使用singleclick事件,當我們雙擊地圖時,它不會觸發兩次。 作為參考, 請參見singleclick事件。
map.on('singleclick', function(evt) {
map.forEachFeatureAtPixel(evt.pixel,
function(feature, layer) {
//yourCode ;
});
});
請注意,此事件會延遲250毫秒,以確保它不是雙擊事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.