多边形,矩形,长方体设置
在cesium中,我们可以通过既有的库来进行对地图的构建
// 向场景中添加一个几何体(立方体)
scene.primitives.add(new Cesium.Primitive({// 定义几何体实例geometryInstances: new Cesium.GeometryInstance({// 使用BoxGeometry.fromDimensions方法创建一个立方体几何体geometry: Cesium.BoxGeometry.fromDimensions({// 指定顶点格式,这里使用PerInstanceColorAppearance的顶点格式,以便支持每个实例的颜色vertexFormat: Cesium.PerInstanceColorAppearance.VERTEX_FORMAT,// 设置立方体的尺寸,单位为米dimensions: new Cesium.Cartesian3(400000.0, 300000.0, 500000.0),}),// 设置模型矩阵,用于定位立方体modelMatrix: Cesium.Matrix4.multiplyByTranslation(// 使用eastNorthUpToFixedFrame方法将经纬度转换为局部坐标系Cesium.Transforms.eastNorthUpToFixedFrame(// 指定立方体的中心位置,经度为-105.0,纬度为45.0Cesium.Cartesian3.fromDegrees(-105.0, 45.0),),// 将立方体沿Z轴向上移动250000米new Cesium.Cartesian3(0.0, 0.0, 250000),new Cesium.Matrix4(),),// 设置几何体的颜色属性attributes: {// 使用ColorGeometryInstanceAttribute.fromColor方法设置颜色color: Cesium.ColorGeometryInstanceAttribute.fromColor(// 设置颜色为红色,透明度为0.5Cesium.Color.RED.withAlpha(0.5),),},}),// 设置外观,使用PerInstanceColorAppearanceappearance: new Cesium.PerInstanceColorAppearance({// 设置是否闭合,true表示闭合,即显示立方体的底部closed: true,}),}),
);// 向场景中添加一个几何体(矩形)
scene.primitives.add(new Cesium.Primitive({// 定义几何体实例geometryInstances: new Cesium.GeometryInstance({// 使用RectangleGeometry创建一个矩形几何体geometry: new Cesium.RectangleGeometry({// 使用Rectangle.fromDegrees方法指定矩形的范围,经度范围为-100.0到-93.0,纬度范围为30.0到37.0rectangle: Cesium.Rectangle.fromDegrees(-100.0, 30.0, -93.0, 37.0),// 设置矩形的高度,单位为米height: 100000,// 指定顶点格式,这里同样使用PerInstanceColorAppearance的顶点格式vertexFormat: Cesium.PerInstanceColorAppearance.VERTEX_FORMAT,}),// 设置几何体的颜色属性attributes: {// 使用ColorGeometryInstanceAttribute.fromColor方法设置颜色color: Cesium.ColorGeometryInstanceAttribute.fromColor(// 设置颜色为蓝色Cesium.Color.BLUE,),},}),// 设置外观,使用PerInstanceColorAppearanceappearance: new Cesium.PerInstanceColorAppearance(),}),
);
保存后如图所示
可以看到我们在地球上创建了一个矩形和一个长方体