cesium--绘制多边形polygon

前言

在线沙盒案例: api查询地址:

名称 作用 CoplanarPolygonGeometry CoplanarPolygonOutlineGeometry PolygonGeometry 这个好像是给底层用的 PolygonGeometryUpdater 一般客户端不用 PolygonHierarchy 定义多边形及其孔的线性环的层次。这些孔本身也可能有嵌套内部多边形的孔。 PolygonOutlineGeometry 椭球上多边形轮廓的描述。多边形由多边形层次定义。 PolygonGraphics 描述由组成外部形状和任何嵌套孔的线性环层次定义的多边形。多边形符合球体的曲率,可以放置在表面或高度上,也可以随意拉伸成一个体积。

黄色的是我们经常用到的

api详解

名称 作用 hierarchy 指定多边形层次结构,说白了就是多边形的经纬度 height 距离地表高度 heightReference 相对高度的高度 extrudedHeight 厚度 extrudedHeightReference 相对厚度 show 控制显隐 fill 是否填充 material 填充颜色 outline 是否有外边线 outlineColor 外边线颜色 outlineWidth 外边线宽度 stRotation 指定多边形纹理从北逆时针旋转的数值属性。 granularity 指定每个纬度和经度点之间的角度距离的数值属性 perPositionHeight 是否利用每个点的高度,制造幅度? closeTop 是否关闭多边形的顶部,也就是拿掉盖子 closeBottom 是否关闭底部 shadows 阴影 distanceDisplayCondition 定义与相机的距离 classificationType 一个枚举属性,指定此多边形在地面上时是将地形、三维图块分类,还是两者都分类 arcType 线条类型 zIndex 遮盖顺序

例子

简单的例子就不列举了,这里主要教大家画回环 我们知道,画完了图形,需要添加到实体中,才能在地球上显示

//几何绘制
var gemeotryDraw = {
    //绘制长方体
    cuboidDraw: function () {
        //难点在于回环的理解,画回环,需要先画出这个多边形,然后在这个多边形里,挖出一块来
        //通过经纬度,笛卡尔坐标系,定义多边形的四个顶点
        var positions=Cesium.Cartesian3.fromDegreesArray([105,20,117,20,122,30,105,30]);     
        //同理,定义需要挖的形状的四个顶点
        var hole=Cesium.Cartesian3.fromDegreesArray([110,23,112,23,115,27,110,27]);
        //定义需要传给hierrchy的参数
        var x={
            positions:positions,
            //由于挖的这个洞,是x本身的一种数组集合,所以每一个对象里,又是一个x的形式
            holes:[{positions:hole}]
        };
        var cuboid = viewer.entities.add({
            name: "长方体",
            polygon:{
                hierarchy:x,
                height: 10000,
                //extrudedHeight: 21000,
                outline: true,
                outlineWidth: 100,
                //fill: false,
                arcType: Cesium.ArcType.RHUMB,
                material: Cesium.Color.RED
            } 
        });
        viewer.zoomTo(cuboid);
    },
    clear: function () {

    }
    //绘制圆形

}
经验分享 程序员 微信小程序 职场和发展