我正在通过像上面这样的数据源加载承诺来加载一些几何图形:
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;
});
但是不幸的是,对象的显示/隐藏有一个奇怪的延迟,我必须滚动鼠标才能看到它们的隐藏或显示
我设法通过添加以下内容解决了这个问题:
this.viewer.scene.requestRender();
之后
this.dataSources.show = visibility;
所以最终的解决方案是:
this.visibilitySubscription = this.store.visibility.subscribe(visibility=>{
this.dataSources.show = visibility;
this.viewer.scene.requestRender();
});