我的目标是当我点击图标(功能)时
我正在使用Select交互聚焦到功能并打开信息窗口:
/* Click Popover */
selectClick = new ol.interaction.Select({
condition: ol.events.condition.click,
multi: false,
layers: [vectorLayer, potentialsLayer]
});
map.addInteraction(selectClick);
selectClick.on('select', (event) => {
if (e.selected.length !== 0) {
const feature = event.selected[0];
const site = feature.get("site");
if (feature.get('layer') == "main")
popover.open(site, true);
} else
popover.close();
});
Popover是一个用于处理焦点,缩放和信息窗口的类实例。在其中,此循环缩放已经计算出来,但如果已选择该功能并且用户单击该图标,则不会触发选择交互(因为没有选择或取消选择)
我意识到我可以回到map.on('click'...)
,但我认为选择互动更清晰。
无论如何在Select交互中实现这个吗?
答案 0 :(得分:0)
我会这样做。每个功能都有3个步骤。
select.getFeatures().clear();
清除所选的功能集,并允许您再次重新选择相同的功能。