修改Feature

本节要实现的功能主要是修改在上一节的基础上在添加修改。画图之后还可以进行修改

Modify

与Draw类相同,Modify类定义了修改几何图形的功能控件同样继承自interaction,直接应用即可,在上节代码中直接添加

//定义修改几何图形的功能控件
        var Modify = {
            init: function(){
                //添加选择控件
                this.select = new ol.interaction.Select();
                map.addInteraction(this.select);
                //添加修改控件
                this.modify = new ol.interaction.Modify({
                    features: this.select.getFeatures()       
                });
                map.addInteraction(this.modify);
                this.setEvents();
            },
            setEvents: function(){
                var selectedFeatures = this.select.getFeatures();       
                this.select.on("change:active", function(){
                    selectedFeatures.forEach(selectedFeatures.remove, selectedFeatures);
                });
            },
            setActive: function(active){
                this.select.setActive(active);                 
                this.modify.setActive(active);                  
            }
        };
        Modify.init(); //初始化
        Modify.setActive(true);

选择 None 可以启动修改修改

修改