【发布时间】:2016-04-20 14:53:15
【问题描述】:
这是一些可以粘贴到铯沙堡的代码。
它将一个实体添加到地图中,然后每秒更新一次位置属性的 CallbackProperty。每次更新时,实体都会闪烁。
var viewer = new Cesium.Viewer('cesiumContainer');
var position = new Cesium.Cartesian3.fromDegrees(-114.0, 40.0, 300000.0);
var constant = false;
var blueBox = viewer.entities.add({
name : 'Blue box',
position: new Cesium.CallbackProperty(getPos, constant),
box : {
dimensions : new Cesium.Cartesian3(400000.0, 300000.0, 500000.0),
material : Cesium.Color.BLUE
}
});
function getPos() {
return position;
}
function setPosCallback() {
constant = !constant;
blueBox.position.setCallback(getPos, constant);
}
setInterval(setPosCallback, 1000);
有没有办法在不导致实体闪烁的情况下更新此类属性?也许使用 requestAnimationFrame 之类的?
我需要使用回调属性来绘制形状,但是一旦绘制出来,我希望它们使用常量属性。我也尝试过更改 isConstant 属性,但它是只读的。
【问题讨论】:
-
删除了我的答案,因为我确实误读了你的问题 - 你有没有弄清楚?
-
@bradimus 不,还没有。用常量替换 CallbackPropertys 显着提高了我的应用程序的性能,但在更改过程中会快速闪烁。
标签: javascript cesium