Cesium学习笔记(一)添加实体

可以选实体对象:

名称类型备注
boxBoxGraphics盒子实体
corridorCorridorGraphics走廊实体
cylinderCylinderGraphics椎体实体
ellipseEllipseGraphics圆和椭圆实体
ellipsoidEllipsoidGraphics球体和椭圆体
wallWallGraphics
polygonPolygonGraphics多边形实体
polylinePolylineGraphics折线实体
rectangleRectangleGraphics矩形

初始化:

    <div id="cesiumDemo"></div>
    <script type="text/javascript">
        var view = new Cesium.Viewer('cesiumDemo',{
            baseLayerPicker: false,
            imageryProvider: new Cesium.ArcGisMapServerImageryProvider({
                url: 'http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer'
            })
        });
    </script>

盒子

        view.entities.add({
           name: 'box',
            position: Cesium.Cartesian3.fromDegrees(116.543398,39.881501,0),
            box:{
                dimensions: new Cesium.Cartesian3(40000.0,40000.0,30000.0),
                material: Cesium.Color.RED
            }
        });

效果图:

这里写图片描述

走廊

        view.entities.add({
            name: 'corridor',
            corridor:{
                positions: Cesium.Cartesian3.fromDegreesArray([
                    -100.0, 40.0,
                    -105.0, 40.0,
                    -105.0, 35.0
                ]),
                width:200000, //宽度必须设置
                material: Cesium.Color.RED
            }
        });

效果图

这里写图片描述

椎体圆柱体

    view.entities.add({
            name: 'cylinder',
            position: Cesium.Cartesian3.fromDegrees(116.274913,38.716066,0),
            cylinder:{
                length:50000, // 圆柱体高度
                topRadius: 30000,// 圆柱体顶部半径
                bottomRadius:30000, // 圆柱体底部半径
                material: Cesium.Color.RED
            }
        });

效果图 (顶部半径改为0就是椎体)

这里写图片描述

椭圆

        view.entities.add({
            name: 'ellipse',
            position: Cesium.Cartesian3.fromDegrees(114.690446,38.465178,0),
            ellipse: {
                semiMajorAxis: 40000, // 长轴长度
                semiMinorAxis: 30000, // 短轴长度
                material:Cesium.Color.RED
            }
        });

效果图

这里写图片描述

球体和椭圆体

        view.entities.add({
            name: 'ellipsoid',
            position: Cesium.Cartesian3.fromDegrees(114.04884,37.771145,0),
            ellipsoid:{
                radii: new Cesium.Cartesian3(30000, 30000, 30000), //设置球体的xyz
                material: Cesium.Color.RED
            }
        });

这里写图片描述

        view.entities.add({
            name: 'wall',
            wall:{
                positions : Cesium.Cartesian3.fromDegreesArray([-115.0, 50.0,
                    -112.5, 50.0,
                    -110.0, 50.0,
                    -107.5, 50.0,
                    -105.0, 50.0,
                    -102.5, 50.0,
                    -100.0, 50.0,
                    -97.5, 50.0,
                    -95.0, 50.0,
                    -92.5, 50.0,
                    -90.0, 50.0]),
                maximumHeights : [100000, 200000, 100000, 200000, 100000, 200000, 100000, 200000, 100000, 200000, 100000],
                minimumHeights : [0, 100000,  0, 100000, 0, 100000, 0, 100000, 0, 100000, 0],
                material: Cesium.Color.RED
            }
        });

效果图

这里写图片描述

线

    var model = view.entities.add({
            name: 'polyline',
            polyline: {
                positions: Cesium.Cartesian3.fromDegreesArray([
                    115.250413,35.887456,
                    117.250413,35.887456
                ]),
                width: 10,
                material: Cesium.Color.RED
            }
        });

效果图

这里写图片描述

material可以支持其他样式填充:

PolylineArrowMaterialProperty
PolylineDashMaterialProperty
PolylineGlowMaterialProperty
PolylineOutlineMaterialProperty

多边形

        view.entities.add({
            name: 'polygon',
            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]),
                height : 0,
                material : Cesium.Color.RED.withAlpha(0.5),
                outline : true,
                outlineColor : Cesium.Color.BLACK
            }
        });

效果图

这里写图片描述

矩形

    view.entities.add({
            name: 'rectangle',
            rectangle: {
                coordinates: Cesium.Rectangle.fromDegrees(-160.0, 0.0, -140.0, 30.0),
                material : Cesium.Color.GREEN.withAlpha(0.5),
                rotation : Cesium.Math.toRadians(45),
                extrudedHeight : 300000.0,
                height : 100000.0,
                outline : true,
                outlineColor : Cesium.Color.BLACK
            }
        });

效果图

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值