Cesium:动态改变实体位置
Cesium: Dynamically Change Entity Position
我正在使用从数据库提供的位置数据绘制实体。
我目前正在使用
viewer.entities.removeAll();
每次从数据库中获得结果时删除所有实体。
由于实体当前是 3D 模型,因此这会导致浏览器中的处理过程漫长而繁重。
是否有更好的数据更新方式,例如实体数组。
或者一种缓存实体的方法,然后我可以更改数据。
最终结果是我可以动态更改位置,然后在显示器上看到实体更新
我正在使用
viewer.entities.add({
name : name,
position : position,
orientation : orientation,
model : {
uri : url,
minimumPixelSize : 50
}
});
添加实体
看一下 Picking Demo,您可以看到它在实时编辑器 window 的第 26 行附近将新的 Cartesian3
值分配给 entity.position
。更新一个实体将比销毁它并创建一个新实体快得多。
此外,如果您的数据库知道某个实体的位置会随时间变化,您可以通过 SampledPositionProperty 提供该位置,并允许 Cesium 为实体设置动画,使其随时间沿路径移动。
我正在使用从数据库提供的位置数据绘制实体。
我目前正在使用
viewer.entities.removeAll();
每次从数据库中获得结果时删除所有实体。
由于实体当前是 3D 模型,因此这会导致浏览器中的处理过程漫长而繁重。
是否有更好的数据更新方式,例如实体数组。
或者一种缓存实体的方法,然后我可以更改数据。
最终结果是我可以动态更改位置,然后在显示器上看到实体更新
我正在使用
viewer.entities.add({
name : name,
position : position,
orientation : orientation,
model : {
uri : url,
minimumPixelSize : 50
}
});
添加实体
看一下 Picking Demo,您可以看到它在实时编辑器 window 的第 26 行附近将新的 Cartesian3
值分配给 entity.position
。更新一个实体将比销毁它并创建一个新实体快得多。
此外,如果您的数据库知道某个实体的位置会随时间变化,您可以通过 SampledPositionProperty 提供该位置,并允许 Cesium 为实体设置动画,使其随时间沿路径移动。