我需要通过点击按钮或触发事件来删除路线和地图中的所有点。这是我用来在地图上写路线的代码。
https://pastebin.com/qnBce4y3
我试着用这种方式删除图层,但我无法选择正确的图层,结果是路线保留在地图上,但地图图层被删除了。
this.map.getLayers().getArray().map(layer => {
layer.setVisible(false);
return true;enter code here
});
我该怎么办?谢谢Andrea
如果在创建时保留对层的引用
this.vectorLayer = new ol.layer.Vector({
source: new ol.source.Vector({
features: [routeFeature, geoMarker, startMarker, endMarker],
}),
style: function (feature) {
// hide geoMarker if animation is active
if (animating && feature.get('type') === 'geoMarker') {
return null;
}
return styles[feature.get('type')];
},
});
this.map.addLayer(this.vectorLayer);
很容易去除正确的层
this.map.removeLayer(this.vectorLayer);