我需要在地图上添加多个标记,当我点击它们时,它们必须在弹出窗口中说出区域名称,或者执行另一个onclick事件,每个标记可能不同。做这件事的最佳方法是什么,目前我所拥有的是一个单独的标记,而在向量层中没有任何onclick事件。
new ol.layer.Vector({
source: new ol.source.Vector({
features: [iconFeature]
}),
style: new ol.style.Style({
image: new ol.style.Icon({
anchor: [0.5, 46],
anchorXUnits: 'fraction',
anchorYUnits: 'pixels',
src: 'http://openlayers.org/en/v6.5.0/examples/data/icon.png'
})
})
})
],
您可以在点击事件中尝试类似的操作:
function clickOnFeatures(browserEvent) {
let coordinate = browserEvent.coordinate;
let pixel = map.getPixelFromCoordinate(coordinate);
map.forEachFeatureAtPixel(pixel, function (feature) {
console.log("feature", feature);
console.log("name", feature.values_.name);
});
}