我想修改 MVT 层的特征,但是修改交互不像简单的矢量图层那样容易。下面的代码确实选择了该功能,它确实出现在修改交互功能属性中,所以我不确定出了什么问题:
this.selectInteraction = new ol.interaction.Select({
multi: true
});
this.modifyInteraction = new ol.interaction.Modify({
features: this.selectInteraction.getFeatures()
});
this.map.addInteraction(this.modifyInteraction);
我的 MVT 层是这样设置的:
let mapLay = new ol.layer.VectorTile({
style: styleFunc,
name: layer.layerid,
});
let source = new ol.source.VectorTile({
format: new ol.format.MVT({
featureClass: ol.Feature
}),
projection: 'EPSG:27700',
tileGrid: ol.tilegrid.createXYZ({
maxZoom: 16,
minZoom: 8,
tileSize: [1024,1024]
}),
tilePixelRatio: 4,
url: 'http://localhost:3000/vctserv/' + referenceLayer.vct_url + '/{z}/{x}/{y}',
projection: 'EPSG:3857',
maxResolution: 1250,
renderMode: 'vector'
})
我可以毫无问题地设计和选择对象,但修改交互似乎没有触发。根本没有错误消息。
任何关于如何允许修改 MVT 层的建议将不胜感激。我试图避免通过 WFS 重新请求该功能,以便我可以修改它。
非常感谢