gpt4 book ai didi

javascript - 更新 Cesium 回调属性导致实体闪烁

转载 作者:行者123 更新时间:2023-11-30 06:52:10 25 4
gpt4 key购买 nike

这里有一些代码可以粘贴到 Cesium SandcaSTLe 中。

它向 map 添加一个实体,然后每秒更新位置属性的 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 什么的?

我需要使用 callbackProperties 来绘制形状,但是一旦绘制完成,我希望它们使用常量属性。我也尝试过更改 isConstant 属性,但它是只读的。

最佳答案

我意识到这个问题是很久以前的问题了,但看起来问题出在这一行“constant = !constant;”。只需将其移除即可解决闪烁问题。

编辑:我误解了这个问题,在常量和回调之间切换时我也遇到了闪烁问题。

关于javascript - 更新 Cesium 回调属性导致实体闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36747621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com