【Cesium】添加polygon边界线

添加polygon实体后,设置outline属性。但是当height属性不设置时,会发现边界线不显示了。这边可以通过再绘制一个polyline实体来作为边界线,代码如下:

    var entity = viewer.entities.add({
        name : 'Wyoming',
        polygon : {
            hierarchy : Cesium.Cartesian3.fromDegreesArray([
                -109.080842,45.002073,
                -105.91517,45.002073,
                -104.058488,44.996596,
                -104.053011,43.002989,
                -104.053011,41.003906,
                -105.728954,40.998429,
                -107.919731,41.003906,
                -109.04798,40.998429,
                -111.047063,40.998429,
                -111.047063,42.000709,
                -111.047063,44.476286,
                -111.05254,45.002073,
                -109.080842,45.002073]),
            //height : 100000,
            material : Cesium.Color.RED.withAlpha(0.5),
            outline : true,
            outlineColor : Cesium.Color.BLACK
        }
    });

    var positions = entity.polygon.hierarchy._value.positions;
    viewer.entities.add({
        name: 'boderLine',
        polyline: {
            positions: positions,
            width: 2,
            material: Cesium.Color.BLACK.withAlpha(0.5),
            clampToGround: true
        }
    })
    
    viewer.flyTo(entity);

效果如下:

 


版权声明:本文为u013517229原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。