地理视图等瓦片加载完再淡入,避免逐块弹出

This commit is contained in:
2026-09-19 14:20:37 +08:00
parent 86ee03f4a6
commit 0715b38b81
2 changed files with 41 additions and 7 deletions
+18
View File
@@ -510,6 +510,24 @@ export class CesiumGlobe {
if (visible && this.viewer) this.viewer.scene.requestRender();
}
// 等待当前视图的影像/地形瓦片加载完成(超时兜底),用于切换时“一起出现”
waitUntilViewReady(timeout = 4000) {
return new Promise((resolve) => {
const globe = this.viewer.scene.globe;
let done = false;
const finish = () => {
if (done) return;
done = true;
globe.tileLoadProgressEvent.removeEventListener(onProgress);
resolve();
};
const onProgress = (remaining) => { if (remaining <= 0) finish(); };
globe.tileLoadProgressEvent.addEventListener(onProgress);
if (globe.tilesLoaded) finish();
setTimeout(finish, timeout);
});
}
resize() {
if (this.viewer) this.viewer.resize();
}