OpenLayers:如何在 3.13v 中替换 ol.FeatureOverlay?

OpenLayers: how can be ol.FeatureOverlay replaced in 3.13v?

Here 有一个叠加功能示例。

它在 3.13 OpenLayers 版本上不起作用,因为不再支持 ol.FeatureOverlay。

如何替换?能举个例子吗?

changelog/v3.7.0.md

复制粘贴

我们现在使用 ol.layer.Vectorol.source.Vector,而不是 ol.FeatureOverlay。如果您以前有:

var featureOverlay = new ol.FeatureOverlay({
  map: map,
  style: overlayStyle
});
featureOverlay.addFeature(feature);
featureOverlay.removeFeature(feature);
var collection = featureOverlay.getFeatures();

您必须将其更改为:

var collection = new ol.Collection();
var featureOverlay = new ol.layer.Vector({
  map: map,
  source: new ol.source.Vector({
    features: collection,
    useSpatialIndex: false // optional, might improve performance
  }),
  style: overlayStyle,
  updateWhileAnimating: true, // optional, for instant visual feedback
  updateWhileInteracting: true // optional, for instant visual feedback
});
featureOverlay.getSource().addFeature(feature);
featureOverlay.getSource().removeFeature(feature);

我遇到了同样的问题。 OpenLayers 网站上有最新版本 (Vector Layer - v3.14.2) 的更新示例,其中的功能在鼠标悬停时突出显示。

对于 OL 6.3.1 Vector Layer 演示鼠标悬停时的突出显示