EntityView
是 Cesium
中用于实现 Entity 对象可视化的视图组件。它通过对 Entity 显示和样式属性进行监视,实现不同类型 Entity 的渲染和交互。
一个 EntityView 对象可以绑定一个 Entity 并提供相应的视图配置项,如颜色、大小、线型等。当 Entity 的属性发生变化时,EntityView 会监听并触发对应的渲染行为,同步更新场景中对应的 Entity 显示状态。
new EntityView(viewer, entity, options)
其中:
viewer
: Cesium.Viewer
对象,表示 Cesium 场景对象。
entity
: Cesium.Entity
对象,表示需要与 EntityView 绑定的 Entity。
options
: 可选配置项对象,包括:
outlineWidth
: 实体边界宽度,默认为 0。show
: 是否显示 Entity,默认为 true。color
: 填充颜色,默认为 Cesium.Color.WHITE。outlineColor
: 边界颜色,默认为 Cesium.Color.BLACK。viewer
: Cesium.Viewer 对象,表示 Cesium 场景对象。
entity
: Cesium.Entity 对象,表示与 EntityView 绑定的 Entity。
options
: 配置项对象,包括:
outlineWidth
: 实体边界宽度,默认为 0。show
: 是否显示 Entity,默认为 true。color
: 填充颜色,默认为 Cesium.Color.WHITE。outlineColor
: 边界颜色,默认为 Cesium.Color.BLACK。destroy()
: 销毁 EntityView 对象。show()
: 显示 Entity。hide()
: 隐藏 Entity。setVisible(boolean)
: 设置 Entity 显示状态。setColor(color)
: 设置填充颜色。setOutlineColor(color)
: 设置边界颜色。setOutlineWidth(width)
: 设置边界宽度。update()
: 更新 Entity 显示状态。// 创建场景对象 viewer
var viewer = new Cesium.Viewer('cesiumContainer');
// 创建 Entity 对象 entity
var entity = viewer.entities.add({
position : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
ellipsoid : {
radii : new Cesium.Cartesian3(500000.0, 500000.0, 500000.0),
material : Cesium.Color.BLUE.withAlpha(0.5)
}
});
// 创建 EntityView 对象 entityView
var entityView = new EntityView(viewer, entity, {
outlineWidth: 1,
show: true,
color: Cesium.Color.RED,
outlineColor: Cesium.Color.BLACK
});
// 更新 EntityView 配置
entityView.setColor(Cesium.Color.YELLOW);
// 显示 EntityView
entityView.show();
// 隐藏 EntityView
entityView.hide();
// 更新 Entity 显示状态
entityView.update();