使用Cesium中的“显示”属性来打开和关闭可见性会有一个奇怪的延迟

问题描述 投票:1回答:1

我正在通过像上面这样的数据源加载承诺来加载一些几何图形:

Cesium.when(Cesium.CzmlDataSource.load(environment.apiBaseURL + `/geometry/all`), result => {
    this.dataSources = result;
    this.viewer.dataSources.add(this.dataSources);
});

并且我正在尝试通过上面的此回调来切换其可见性:

this.visibilitySubscription = this.store.visibility.subscribe(visibility=>{
        this.dataSources.show = visibility;
    });

但是不幸的是,对象的显示/隐藏有一个奇怪的延迟,我必须滚动鼠标才能看到它们的隐藏或显示

javascript cesium czml
1个回答
0
投票

我设法通过添加以下内容解决了这个问题:

this.viewer.scene.requestRender();

之后

this.dataSources.show = visibility;

所以最终的解决方案是:

this.visibilitySubscription = this.store.visibility.subscribe(visibility=>{
        this.dataSources.show = visibility;
        this.viewer.scene.requestRender();
    });
© www.soinside.com 2019 - 2024. All rights reserved.