之前发的Cesium离线部署用的是1.72。最近更新到1.137发现变化很多,3dtiles格式变了、加载方式变了,影像瓦片和地形瓦片加载方式也变了……
重新梳理下
1.离线部署
//配置 Cesium 离线环境
const viewer = new Cesium.Viewer("cesiumContainer", {
imageryProvider:false,
terrainProvider: new Cesium.EllipsoidTerrainProvider({
ellipsoid:Cesium.Ellipsoid.WGS84
}),//启用该项能看到地球,以下设置保证没有网络报错
baseLayerPicker:false,
geocoder: false,
sceneModePicker:false,
navigationHelpButton: false,
animation: false,
timeline: false,
fullscreenButton:false,
vrButton:false
});
2.添加影像、地形,变化是需要用await和fromUrl
//添加影像底图
async function loadimagery(){
const tmsImageryProvider=new Cesium.UrlTemplateImageryProvider({
url:'http://localhost:8008/GoogleSatWGS84/{z}/{x}/{reverseY}.jpg',
tilingScheme:new Cesium.GeographicTilingScheme()
});
viewer.imageryLayers.addImageryProvider(tmsImageryProvider);
}
//添加地形,保证3dtiles贴在地面上
async function loadterrain(){
const myterrainProvider=await Cesium.CesiumTerrainProvider.fromUrl(
'http://localhost:8008/terrainqm'
);
viewer.scene.terrainProvider=myterrainProvider;
}
loadimagery()
loadterrain();
3.添加3dtiles,必须添加地形才能让3dtiles贴在地面上
//加载本地3DTiles数据
function loadLocal3DTiles() {
const tileset = Cesium.Cesium3DTileset.fromUrl(
"./osg2cesiumApp_gltf2.0/tileset.json",{enableCollision:true}
);
tileset.then(function(_tileset){
viewer.scene.primitives.add(_tileset);
viewer.zoomTo(_tileset);
});
}
loadLocal3DTiles();
浙公网安备 33010602011771号