1

我想修改 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 重新请求该功能,以便我可以修改它。

非常感谢

4

0 回答 0