首页 / 浏览问题 / WebGIS / 问题详情
iClient3D for Cesium无法正确加载3DTileset数据?
3EXP 2023年11月13日
iClient3D for Cesium版本(V11.1.1) 代码: //加载图层 var tileset = viewer.scene.primitives.add(new SuperMap3D.Cesium3DTileset({ url: 'https://xxxxxxx/gis/xxx/tileset.json' })); //读取图层位置,切换相机 tileset.readyPromise.then(function (tileset) { // Set the camera to view the newly added tileset viewer.camera.viewBoundingSphere(tileset.boundingSphere, new SuperMap3D.HeadingPitchRange(0, -0.5, 0)); }); //图层加载打印日志 tileset.allTilesLoaded.addEventListener(function () { console.log('All tiles are loaded'); }); 效果正常 iClient3D for WebGL版本(V11.1.1) 代码: // //加载图层 var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ url: 'https://xxxxxx/gis/xxxx/tileset.json' })); //读取图层位置,切换相机 tileset.readyPromise.then(function (tileset) { // Set the camera to view the newly added tileset viewer.camera.viewBoundingSphere(tileset.boundingSphere, new Cesium.HeadingPitchRange(0, -0.5, 0)); }); //图层加载打印日志 tileset.allTilesLoaded.addEventListener(function () { console.log('All tiles are loaded'); }); 效果不正常,模型位置再地球内部

1个回答

你好,iclient for cesium产品默认是圆球,3DTiles是椭球数据,需要在场景初始化前把圆球改成椭球:

var obj = [6378137.0, 6378137.0, 6356752.3142451793];
Cesium.Ellipsoid.WGS84 = Object.freeze(new Cesium.Ellipsoid(obj[0], obj[1], obj[2]));
1,865EXP 2023年11月13日
...