3dtiles 加载问题
3dtiles加载不出来的问题
错误示范
之前 用的一种方式
const init3dtitles = (url) => {// 加载3D Tiles数据tileset.value = new Cesium.Cesium3DTileset({url: url,// 根据实际路径调整});viewer.scene.primitives.add(tileset.value);viewer.zoomTo(tileset.value);}
后面用到香港数据集时,加载怎么都加不出来,要不然无法加载model 要不然停止渲染,后来发现是版本太低,升级版本后发现
tileset.readyPromise.then
这个方法一直报错,网上找了很多,发现新版本的ceisum 不支持Cesium3DTileset 加载,而是使用Cesium.Cesium3DTileset.fromUrl(url)这个方法加载 于是直接替换,但一直渲染出错,后来发现需要等
Cesium.Cesium3DTileset.fromUrl()
这个方法加载完成后,才能调用
viewer.scene.primitives.add
于是,利用Promise实现
正确代码
const tileset = Cesium.Cesium3DTileset.fromUrl('http://localhost:8002/tilesets/Seattle/tileset.json', { enableCollision: true }
);
tileset.then(function (_tileset) {viewer.scene.primitives.add(_tileset);viewer.zoomTo(_tileset);
});