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;
    });

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

4

1 回答 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();
    });
于 2020-02-28T07:58:36.767 回答