铯:动态改变实体位置

Bes*_*n88 2 javascript performance latitude-longitude cesium

我正在使用从数据库提供的位置数据来绘制实体.

我正在使用

viewer.entities.removeAll();
Run Code Online (Sandbox Code Playgroud)

每次从数据库中获取结果时删除所有实体.

这导致浏览器中的漫长而繁重的过程,因为实体当前是3D模型.

是否有更好的数据更新方式,例如实体数组.

或者一种缓存我可以随后改变数据的实体的方法.

最终的结果是我可以动态改变位置,然后在显示屏上看到实体更新

我在用

viewer.entities.add({
            name : name,
            position : position,
            orientation : orientation,
            model : {
                uri : url,
                minimumPixelSize : 50
            }
        });
Run Code Online (Sandbox Code Playgroud)

添加实体

ema*_*key 7

看看Picking Demo,您可以看到它在实时编辑器窗口中为第26行分配新Cartesian3entity.position.更新实体将比销毁实体和创建新实体快得多.

此外,如果您的数据库知道实体的位置随时间变化,您可以通过SampledPositionProperty提供该位置,并允许Cesium为沿着路径移动的实体设置动画.