使用forEachFeatureAtPixel函数重叠元素

时间:2017-10-26 07:44:07

标签: javascript angular openlayers

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

我想制作一个显示顶部元素名称的弹出窗口(通过zIndex)但forEachFeatureAtPixel函数返回其他一些。如何选择顶部元素?

1 个答案:

答案 0 :(得分:0)

好的,我明白了。

我只返回来自forEachFeatureAtPixel的第一个元素

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

我应该这样做

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

我现在工作,虽然如果出于某种未知原因至少有2个功能,我会得到一些未定义的元素