描述
Entity 是 Viewer 的一个属性,可以在地球中添加点、线、面、几何体等实体,而 entities 则是 示例的集合对象。
在地图中添加一个球体
viewer.entities.add({
// 设置对象的名称
name: "Saturn",
// 对象的定位
position: Cesium.Cartesian3.fromDegrees(
-95.0,
45.0,
300000.0
),
// 设置球体
ellipsoid: {
radii: new Cesium.Cartesian3(200000.0, 200000.0, 200000.0),
material: new Cesium.Color(0.95, 0.82, 0.49),
},
});
Entity 的接口
1、材质
材质就是控制对象的显示样式,比如颜色、透明度、纹理贴图等等,常设置的就是颜色和透明度
设置球体的颜色、透明度
viewer.entities.add({
name: "Saturn",
position: Cesium.Cartesian3.fromDegrees(
-95.0,
45.0,
300000.0
),
ellipsoid: {
radii: new Cesium.Cartesian3(200000.0, 200000.0, 200000.0),
material: Cesium.Color.RED.withAlpha(0.5), // 设置球体为红色且透明度为 0.5
},
});
2、边框和填充
设置属性 fill(默认为true)和 outline(默认为false)来确定是否显示填充和边框,设置 material 为填充样式,outlineColor 和 outlineWidth 对应边框的颜色和宽度
viewer.entities.add({
name: "Saturn",
position: Cesium.Cartesian3.fromDegrees(
-95.0,
45.0,
300000.0
),
ellipsoid: {
radii: new Cesium.Cartesian3(200000.0, 200000.0, 200000.0),
material: Cesium.Color.RED.withAlpha(0.5), // 设置球体为红色且透明度为 0.5
height: 200000.0,
fill: true, // 是否显示填充
outline: true, // 是否显示边框,必须设置height,否则无法显示
outlineColor: Cesium.Color.BLUE.withAlpha(0.5), // 边框样式
outlineWidth: 10.0// 边框长度
},
});
3、贴图
设置 material 为图片url,可以将图片填充到对象中
viewer.entities.add({
name: "Saturn",
position: Cesium.Cartesian3.fromDegrees(
-95.0,
45.0,
300000.0
),
ellipsoid: {
radii: new Cesium.Cartesian3(200000.0, 200000.0, 200000.0),
material: './Snipaste_2022-02-14_00-50-03.png', // 贴图
height: 200000.0,
fill: true, // 是否显示填充
outline: true, // 是否显示边框,必须设置height,否则无法显示
outlineColor: Cesium.Color.BLUE.withAlpha(0.5), // 边框样式
outlineWidth: 10.0// 边框长度
},
});
4、垂直拉伸
设置 extrudedHeight 可将面拉伸成体
viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(103.0, 40.0),
ellipse: {
semiMinorAxis: 250000.0,
semiMajorAxis: 400000.0,
height: 200000.0,
extrudedHeight: 400000.0, // 将面拉伸成体
fill: true,
material: Cesium.Color.RED.withAlpha(0.5),
outline: true, // 是否显示边框,必须设置height,否则无法显示
outlineColor: Cesium.Color.BLUE.withAlpha(0.5), // 边框样式
outlineWidth: 10.0// 边框长度
}
});
5、场景中 entity 管理
viewer.entities属性实际上是一个 EntityCollecton 对象,是 entity 的一个集合,提供了add、remove、removeAll 等接口来管理场景中的 entity
Cesium.EntityCollection.collectionChangedEventCallback(collection, added, removed, changed)
add(entity) → Entity
computeAvailability() → TimeInterval
contains(entity) → Boolean
getById(id) → Entity
getOrCreateEntity(id) → Entity
remove(entity) → Boolean
removeAll()
removeById(id) → Boolean
resumeEvents()
suspendEvents()