OpenLayers删除矢量图形的Control

该博客介绍了一个实现删除OpenLayers中选中Feature的Control类。用户可以通过点击按钮并使用键盘上的Delete键来删除错误的或需要修改的Feature。Control类初始化时接收图层、控制及选项参数,并通过Handler监听键盘事件来触发删除功能。
摘要由CSDN通过智能技术生成
 /**
 * 功能:删除选中的Feature,以免添加错误的Feature或删除修改错误的Feature
 * 使用:点击修改实体的button,使用键盘上的Dele键来删除
 */
//删除所添加的图形
OpenLayers.Control.DeleteFeature = OpenLayers.Class(OpenLayers.Control, {
    initialize: function(layer, control, options){
        OpenLayers.Control.prototype.initialize.apply(this, [options]);
        this.layer = layer;
        this.handler = new OpenLayers.Handler.Keyboard(this, {
            "keydown": this.deleteFeature
        });
        this.control = control;
        this.activate();
    },
    deleteFeature: function(evt){
  
  //键盘按键所对应的编码,dele键对应的是46
        switch (evt.keyCode) {
            case 46:
                var fea = this.layer.selectedFeatures[0];
                if (fea.fid == undefined) {
                    this.layer.destroyFeatures([fea]);
             
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值