0
因此,我正在检查是否有办法删除Openlayers 3中图像图层上存在的特征(例如ol.layer.Image({})
)。下面是我用它来创建层代码:如何删除图层中的特征,Openlayers 3
var vector = new ol.layer.Image({
tethys_legend_title: titleName,
zIndex: 1,
source: new ol.source.ImageVector({
source: vectorSource,
style: styleFunction,
}),
});
// Make sure that the layer is not already existing, remove it if the layer does exist
map = TETHYS_MAP_VIEW.getMap();
for (i = 0; i < map.getLayers().getProperties().length ; i ++){
if (map.getLayers().item(i).getProperties().tethys_legend_title === titleName)
map.removeLayer(map.getLayers().item(i));
}
vector.tethys_legend_title = 'Water Table';
map.addLayer(vector);
我目前了解,可以的OpenLayers被删除功能的方法是通过.removeFeature()
方法。但是,removeFeature()
方法仅适用于矢量图层。有没有办法删除与图像图层有关的功能?谢谢
您是否试过从原始vectorSource中删除功能?你可以像这样得到你的特性:'vector.getSource()。getSource()',然后从那里调用'removeFeature'。 –
这就像一个魅力,谢谢你!如果你让它成为答案,我会选择它作为正确的答案。 我注意到没有通用的方法来删除图像图层特征,所以如果图像图层的来源不是矢量特征,那么openlayers似乎没有从图像图层去除特征的一般方法。 – Jacob