cesium编辑多边形面,需要闭合面

/**

 * 多边形自定义编辑类

 * author zk

 * date 2022-12-13

 */

class EditPolygon {

    constructor(options) {

        this.viewer = null;

        // this.handler = new Cesium.ScreenSpaceEventHandler(xtdearth.czm.viewer.scene.canvas);

        this.options = options || {

            polygonColor: "#30dd1042", //编辑面颜色rgba

            pointColor: "#ff0000ee", //正式点面颜色rgba

            pointSize: 10, //正式点大小

            tmpPointColor: "#ffff0088", //临时点面颜色rgba

            tmpPointSize: 7, //临时点大小,

        };

        this.currentEntity = null;

        this.editCurrentEntity = null;

        this.isedit = false;

        this.editPolygons = null;

        this.editPoint = null;

        this.positions = null;

        this.editPointIndex = [];

    }

    /**

     *  启动编辑功能

     *  currentEntity 当前编辑的entity面对象 callback 回调返回数据

     * ************************/

    startEditEntity(currentEntity, callback) {

        var that = this;

        that.handler = new Cesium.ScreenSpaceEventHandler(xtdearth.czm.viewer.scene.canvas);

        that.viewer = xtdearth.czm.viewer

        that.editCurrentEntity = currentEntity;

        that.editCurrentEntity.show = false;

        that.positions = that.editCurrentEntity.polyline.positions._value;

        that.cleanEntityCollection("editTbEntityCollection");

        let entityCollection = new Cesium.CustomDataSource(

            "editTbEntityCollection"

        );

        entityCollection.key = that.editCurrentEntity.id;

        entityCollection.label = "图斑编辑";

        entityCollection.show = true;

        that.viewer.dataSources.add(entityCollection);

        //添加编辑点

        that.addPointByData(that.positions);

        //添加临时中点

        that.addTmpPoint(that.positions);

        var options = {

            id: "edit-tb-polygon",

            name: "edit-tb-polygon",

            polyline: {

                width: 10,

                positions: [],

                material: Cesium.Color.fromCssColorString(that.options.polygonColor),

                clampToGround: true

            },

        };

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值