铯:动态改变实体位置

时间:2015-09-18 08:08:55

标签: javascript performance latitude-longitude cesium

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

我正在使用

viewer.entities.removeAll();

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

由于实体当前是3D模型,因此在浏览器中会导致漫长而繁重的过程。

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

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

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

我正在使用

viewer.entities.add({
            name : name,
            position : position,
            orientation : orientation,
            model : {
                uri : url,
                minimumPixelSize : 50
            }
        });

添加实体

1 个答案:

答案 0 :(得分:6)

看看Picking Demo,您可以看到它在实时编辑器窗口的第26行周围为Cartesian3分配了新的entity.position值。更新实体将比销毁实体和创建新实体快得多。

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