C1——cesiun里wall实体标记航飞数据的范围

问题:航飞数据裁剪成8个区域能分别控制显示影藏,甲方要求能知道各个区域的范围,查阅网上后找到两种,记录一下。

方法一:czml来创建。出处:原文链接

效果图:

代码:

var czml = [
            {
                "id": "document",
                "name": "CZML Geometries: Polyline",
                "version": "1.0"
            },
            {
                "id": "blueCorridor",
                "name": "Blue extruded corridor with beveled corners and outline",
                "corridor": {
                    "positions": {
                        "cartographicDegrees": [
                            101.69701109436772, 29.500967938399, 360,
                            101.7530459644831, 29.85447402167785, 360,
                            101.7487572996887, 29.675398665302172, 360,
                            101.6994457009879, 29.67913849119346, 360,
                            101.69701109436772, 29.500967938399, 360,
                        ]
                    },
                    // "height": 30,
                    "extrudedHeight": 540.0,
                    "width": 0.2,
                    "cornerType": "BEVELED",
                    "material": {
                        "solidColor": {
                            "color": {
                                "rgba": [0, 205, 0, 180]
                            }
                        }
                    },
                    "outline": true,
                    "outlineColor": {
                        "rgba": [255, 255, 255, 0]
                    }
                }
            }
        ];
        var dataSourcePromise = Cesium.CzmlDataSource.load(czml);
        viewer.dataSources.add(dataSourcePromise);
        viewer.zoomTo(dataSourcePromise);

方案二:特点可以闪烁的效果.。出处:原文出处

效果:

用的照片:

代码:这里增加了 获取和移除实体

let_this = this;
var alp = 1;
var num = 0;
//绘制墙
let positions = Cesium.Cartesian3.fromDegreesArrayHeights([
    10*******9436772, 2*.***938399, 600,
    10******644831, 2*.**02167785, 800,
    10******996887, 2*.**65302172, 900,
    10*.*******879, 2*.**9119346, 500,
    101*.***09436772, 2*.*7938399, 600
]);

let wall = viewer.entities.add({
    id: "mywall",
    wall: {
        show: true,
        positions: positions,
        material: new Cesium.ImageMaterialProperty({
            image: "../src/images/greenWall.png",
            transparent: true,
            color: new Cesium.CallbackProperty(function () {
                if ((num % 2) === 0) {
                    alp -= 0.02;
                } else {
                    alp += 0.02;
                }

                if (alp <= 0.3) {
                    num++;
                } else if (alp >= 1) {
                    num++;
                }
                return Cesium.Color.BLUE.withAlpha(alp)
            }, false)
        })
    }
});
viewer.zoomTo(wall).then(function () {
    let getByIdBox = _this.viewer.entities.getById('d111');
    //            _this.viewer.entities.remove(getByIdBox)//可以移除这个实体
});

应用两个文章不能选转载。著名出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值