cesium在1.104.0后就不再支持createWorldTerrain,createOsmBuildings,采用了异步加载的方法
代码如下
const addWorldTerrainAsync = async (viewer) => {
try {
const terrainProvider = await Cesium.createWorldTerrainAsync({
requestVertexNormals: true,
requestWaterMask: true,
});
viewer.terrainProvider = terrainProvider;
} catch (error) {
console.log(Failed to add world imagery: ${error});
}
};
const addOsmBuildingsAsync = async (viewer) => {
try {
const osmBuildings = await Cesium.createOsmBuildingsAsync();
viewer.scene.primitives.add(osmBuildings);
} catch (error) {
console.log(Failed to add OSM buildings: ${error});
}
};
然后调用就行了,我这里是截取的代码,initViewer返回的是viewer对象,大家都懂,自己改下
onMounted(() => {
viewer = initViewer();
addWorldTerrainAsync(viewer) ;
addOsmBuildingsAsync(viewer) ;
});