所以我正在检查是否有办法删除Openlayers 3中图像图层上存在的功能(例如var url = 'http://www.website.abc.net/fixed/27386323/';
var url2 = url.replace(/\/$/, ""); // remove any trailing slash at the end
alert(url2.split('/')[url2.split("/").length -1]); // gives the desired id
)。这是我用来创建图层的代码:
ol.layer.Image({})
我目前了解可以在openlayers中删除的功能的方法是通过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);
方法。但是,.removeFeature()
方法仅适用于矢量图层。有没有办法删除与图像图层有关的功能?感谢
答案 0 :(得分:1)
首先,您需要访问图像源中的矢量源:vector.getSource().getSource()
。然后,您就可以使用removeFeature
方法,即从ol.source.Vector
对象返回..