如何在OpenLayers 4上添加点击事件?

use*_*976 3 gis openlayers

我需要在OpenLayers 4中为一个功能附加一个事件监听器.我已经尝试过feature.on('click',function(){...})但是它没有用.如何将tan事件添加到功能?先感谢您.

Sum*_*try 9

没有click为要素ol.Feature对象注册事件.但click事件是存在的ol.Map.使用forEachFeatureAtPixel方法获取像素的所有要素,并将其与要添加侦听器的要素进行比较.

相关守则:

var featureListener = function ( event ) {
    console.log("featureListenerCalled");
    alert("Feature Listener Called");
};

map.on('click', function(event) {

    map.forEachFeatureAtPixel(event.pixel, function(feature,layer) {
        if ( feature.getId() == "IND" ) {
                feature.setStyle(listenerStyle);
                featureListener(event);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

我已经创建了这个演示这个的pluckr 链接.点击印度地图.