如何提高getFeaturesAtPixel的性能?



我使用"map.getFeaturesAtPixel"方法在鼠标单击交互中精确地获取第一个特征。

即使该方法不返回单个特征,而是返回其图形表示到达单击点的所有特征,这也按预期工作。

这种行为是"可以接受的",但事实证明,一旦我们缩小,它的性能就会下降,许多功能被压缩并像一个巨大的特征一样显示......

我知道这不是在地图上显示要素的理想方式,但在某些情况下可能会发生。

无论如何,我尝试了一种似乎更快的方法来检索我想要的内容(我单击下的第一个要素(,使用"小"范围(基于单击坐标(并使用 getFeaturesIntersectingExtent。这种方法非常快,但它并非在所有情况下都有效,因为它只知道特征几何,而不是它们的图形表示(我的需求(。

问题:有没有另一种方法可以以最佳方式获得点击下的第一个功能?

您可以使用它来获取鼠标单击的功能

var feature = map.forEachFeatureAtPixel(evt.pixel,
function (feature) {
return feature;
});

相关内容

  • 没有找到相关文章

最新更新