本节继续学习RectangleGraphics对象,这个是一个矩形类型,对象属性相对较少,可以直接添加矩形对象,接下来我们一起学习下吧。
先来看一景效果
简单的矩形
实现的代码非常简单:
viewer.entities.add({
id: "test",
rectangle: {
coordinates: Cesium.Rectangle.fromDegrees(117.0, 30.0, 118, 31),
material: Cesium.Color.BLUE
}
接下来一起来了解一下这个实体对象吧
一、主要参数介绍
1、coordinates:指定矩形的上下左右边界
2、height:矩形相当地面的高度。
3、extrudedHeight:矩形的挤出高度,一般拉升高度=extrudedHeight-height。
4、show:矩形是否可见。
5、fill:是否使用材质填充,不填充则是透明,如果有边线则只显示边线效果
6、material:对象的填充材质,就是对象的外观,可以是颜色,也可以是贴图等等
7、outline:一个布尔属性,指定矩形是否显示轮廓。
8、outlineColor:轮廓的颜色。
9、outlineWidth:轮廓的宽度
10、rotation:矩形对象的顺时针旋转角度。
11、stRotation:矩形对象上所贴纹理的旋转角度。(如果设置矩形对象的旋转,需要带着这个参数一起设置,否则纹理材质将不旋转)
12、shadows:指定矩形是否从每个光源投射或接收阴影。
13、distanceDisplayCondition:即是控制模型在什么相机位置下显示出来。例如设置distanceDisplayCondition:new Cesium.DistanceDisplayCondition(1500,5000),即是在相机距离1500-5000的位置范围内显示,其他范围模型都不显示。
二、综合使用
我们制作了一个旋转的带有贴图并且有拉伸高度的矩形对象。
旋转的Rectangle
实现代码如下:
function getRotationValue() {
rotation += 0.005;
return rotation;
}
viewer.entities.add({
id: "test",
rectangle: {
coordinates: Cesium.Rectangle.fromDegrees(117.0, 30.0, 118, 31),
height: 3000,
extrudedHeight: 50000,
material: new Cesium.ImageMaterialProperty({
image: "./img/3D Tiles Photogrammetry.jpg",
repeat: new Cesium.Cartesian2(2.0, 2.0)
}),
rotation: new Cesium.CallbackProperty(getRotationValue, false),
stRotation: new Cesium.CallbackProperty(getRotationValue, false),
}
});
网友评论