问题描述
代码如图,运行报错TypeError: Cesium.createWorldTerrain is not a function。
const viewer = new Cesium.Viewer("cesiumContainer", {
infoBox: false,
selectionIndicator: false,
shadows: true,
shouldAnimate: true,
terrainProvider: Cesium.createWorldTerrain()
});
原因是:版本 107 中出现了一些重大更改,这些更改在版本 1.107 的更改日志中进行了描述 27。其中许多与 Promise 和异步操作的处理有关。
解决办法
createWorldImagery
被替换为createWorldImageryAsync
createWorldTerrain
被替换为createWorldTerrainAsync
并且必须使用await
等待这些函数的结果,如下:
const viewer = new Cesium.Viewer("cesiumContainer", {
infoBox: false,
selectionIndicator: false,
shadows: true,
shouldAnimate: true,
terrainProvider: await Cesium.createWorldTerrainAsync()
})