使用 forEachFeatureAtPixel 函数重叠元素

Overlapping elements with forEachFeatureAtPixel function

我有一个使用 openlayers 的应用程序,如果缩小视图,地图上会有多个要素相互重叠。我使用 zIndex 属性按要求的顺序设置它们。

我想制作一个显示顶部元素名称的弹出窗口(通过 zIndex),但 forEachFeatureAtPixel 函数 returns 其他一些。我怎样才能让它选择顶部元素?

好的,我明白了。

我只是像那样从 forEachFeatureAtPixel 返回第一个元素

feature = event.map.forEachFeatureAtPixel(event.pixel, (feat: any) => {
  return feat;
});

什么时候我应该那样做

features = [];
event.map.forEachFeatureAtPixel(event.pixel, (feat: any) => {
  features.push(feat);
});

我现在工作,尽管如果出于某种未知原因至少有 2 个特征,我会得到一些未定义的元素