美文网首页开源
Openlayers ol.interaction.Modify

Openlayers ol.interaction.Modify

作者: ssxbxk | 来源:发表于2019-01-31 15:27 被阅读3次

    背景

    在Openlayers中, 我们可以添加可编辑的点, 线, 多边形对象, 也可以拿到编辑结束后的回调事件, 但是在官方文档中, (应该是我疏忽)并没有找到在编辑完成的事件中, 怎么获取到编辑之后的经纬度数据, 经过自己调试, 找到了对应的取值地方.

    添加修改对象

    this.modify = new ol.interaction.Modify({source: this.modify_source});

    map.addInteraction(this.modify);

    this.modify.on('modifyend', this.ModifyIconEnd);

    都是在modifyend对应的回调方法中,获取到修改之后的经纬度数据

    this.ModifyIconEnd =function(evt){

    var extent = evt.features.item(0).getGeometry().getExtent();

    }

    其中extent[0], extent[1]就是修改后的经纬度坐标

    线

    this.ModifyLineEnd = function(evt){

        var APoint = evt.features.item(0).getGeometry().A;

        var arrPoints = [];

        var cnt = APoint.length;

        for(var i = 0; i < cnt; i++)

        {

            if (i == cnt - 1)

                break;

            arrPoints.push([APoint[i], APoint[i+1]]);

            i++;

        }

    }

    其中arrPoints就是修改后的经纬度坐标

    多边形

    多边形跟线的处理方法一样

    相关文章

      网友评论

        本文标题:Openlayers ol.interaction.Modify

        本文链接:https://www.haomeiwen.com/subject/eboksqtx.html