开源GIS(十五)——openlayers通过geoserver中WFS删除要素

目录

一、引言

二、WFS要素删除实现

三、WFS要素删除原理

1、请求xml

2、postman使用

3、要素删除

4、返回xml

四、openlayers中feature的坐标信息获取

五、总结


 

一、引言

 

       前两篇文章介绍了以openlayers为工具通过WFS添加和修改要素,最后我们将介绍如何删除一个要素,修改的话比较简单,主要是id对应就可以。

 

 

二、WFS要素删除实现

        本代码在使用interaction中的select操作,在“select”之后获取到feature,进行删除。

    select.on('select', function (evt) {
        var feature = evt.selected[0];
        
        //feature.set('id_',feature.attr.id);
        var format = new ol.format.WFS();
        var xml = format.writeTransaction(null, null, [feature], {
            featureNS: 'http://geoserver.org/nyc',
            featurePrefix: "xcy",//工作空间名称
            featureType: "polygon"//图层名称
        });
        var serializer = new XMLSerializer();
        var featString = serializer.serializeToString(xml);

        $.ajax({
            url: "http://localhost:8080/geoserver/xcy/wfs",
            type: "POST",
            data: featString,
            contentType: 'text/xml',
            success: function (req) {
                console.log(req);
                //window.location.reload();
            }
        });
    });

        本例子中需要注意的地方,在上面代码确实没啥需要注意的,直接使用select就能获取到feature,向transaction中一放就行了,注意的点应该在另外的地方:这些选中的feature是如何加载上去的。

       当你使用下面加载矢量数据作为数据源可以放心使用上面的代码

 var polygonVectorSource = new ol.source.Vector({
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值