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 为实体设置动画,使其随时间沿路径移动。