C1——cesium添加标签组,及显示影藏

效果:给航飞数据添加小区的名字label。

标签带竖线。可以控制显示影藏。高度低于1100m显示,否则自动影藏

用 parent属性便于控制标签显示影藏。直接让labels.show=true/false;

代码:

1:定义数据(数组)

2:定义方法

// 倾斜摄影数据上添加lable的方法
putLables(_datas, _parent) {
    let _this = this;
    for (let i = 0; i < _datas.length; i++) {
        let data = _datas[i];

        let entity = _this.viewer.entities.add({
            //参数顺序:经度、纬度
            position: Cesium.Cartesian3.fromDegrees(data.lon, data.lat, data.height),//标签的位置
            parent: _parent,
            polyline: {//竖线
                show: true,
                positions: Cesium.Cartesian3.fromDegreesArrayHeights([
                    data.lon, data.lat, 340,
                    data.lon, data.lat, data.height - 2
                ]),
                distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 1500),//高于多少m的时候,不可见
                width: 1,
                material: Cesium.Color.fromCssColorString('#fdeb13'),
                outlineColor: Cesium.Color.fromCssColorString('#3ab70b'),
                outlineWidth: 2
            },
            label: {
                text: data.name,
                font: '14pt monospace',
                // showBackground:true,                //是否显示背景颜色
                style: Cesium.LabelStyle.FILL_AND_OUTLINE,
                fillColor: Cesium.Color.fromCssColorString('#c4feb2'),
                outlineColor: Cesium.Color.fromCssColorString('#67360d'),
                distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 1500),
                // scaleByDistance : new Cesium.NearFarScalar(100, 2, 500, 0.0),
                outlineWidth: 3,
                verticalOrigin: Cesium.VerticalOrigin.TOP,
                pixelOffset: new Cesium.Cartesian2(0, 0)//此属性为设置偏移量
            },
            type: 'text'//自定义属性
        });
    }
}

3:调用方法

labels = viewer.entities.add(new Cesium.Entity());
putLables( datas, labels );
labels.show = true;