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