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();