在做openlayers开发时很多人会遇到需要把前端展示的某个几何图形重新编辑形状的需求,这里我分享一下我的实现流程。
首先我们要用到修改要素几何–Modify,要修改已添加到现有源中的功能,请使用source选项构建修改交互 。如果要修改集合中的功能(例如,选择交互使用的集合),请使用features选项构造交互。交互必须使用source或features选项构造 ,下面我用的是features。
<script>
import Modify from 'ol/interaction/Modify';
import Snap from 'ol/interaction/Snap';
export default {
methods{
reDrawGeom(){
this.modify = new Modify({
features: iSelect.getFeatures();//我这里的iSelect是通过通过Select选择的几何图形
});
this.snap = new Snap({
features: iSelect.getFeatures()
});
this.map.addInteraction(this.snap);
this.map.addInteraction(this.modify);
this.modify.on('modifyend', (evt)=>{
var extent = evt.features.item(0).getGeometry().getCoordinates()[0];//这样是拿新几何图形的坐标。
})
}
}
}
</script>
希望能帮到正在学习openlayers的小伙伴!