Javascript openlayer4:如何删除图层中的要素并刷新地图
我想添加双击事件以删除功能。虽然这段代码运行良好,但存在一个问题:地图无法刷新,功能仍在地图中,直到我双击next。我该怎么办Javascript openlayer4:如何删除图层中的要素并刷新地图,javascript,openlayers,layer,Javascript,Openlayers,Layer,我想添加双击事件以删除功能。虽然这段代码运行良好,但存在一个问题:地图无法刷新,功能仍在地图中,直到我双击next。我该怎么办 _createDoubleSelectControl: function() { var selectedStyle = [ new OpenLayers.style.Style({ stroke: new OpenLayers.style.Stroke({ color: '#3399CC'
_createDoubleSelectControl: function() {
var selectedStyle = [
new OpenLayers.style.Style({
stroke: new OpenLayers.style.Stroke({
color: '#3399CC',
width: 1.25
})
})
];
this.doubleClickSelector = new OpenLayers.interaction.Select({
condition: OpenLayers.events.condition.doubleClick,
style: selectedStyle,
multi: true,
layers: [this.layers.cellLayer],
filter: function(feature, layer) {
return layer === this.layers.cellLayer;
}.bind(this)
});
this.map.addInteraction(this.doubleClickSelector);
this.doubleClickSelector.on('select', function(event) {
let features = event.target.getFeatures();
features.forEach(function(feature) {
this._cellLayer.getSource().removeFeature(feature);
//this._cellLayer.refresh();
this._cellLayer.refresh({
force: true,
active: true
});
this.map.removeLayer(this._cellLayer);
this.map.addLayer(this._cellLayer);
}.bind(this));
}.bind(this));
},
您必须在选择时从选择中删除该功能:
this.doubleClickSelector.on('select',函数(事件){
让features=event.target.getFeatures();
//清晰选择
这是.doubleClickSelector.getFeatures().clear();
//从图层中删除
features.forEach(函数(feature){
此._cellLayer.getSource().removeFeature(特征);
}.约束(这个);
}.约束(这个);
否则,该功能仍处于选中状态且可见