当前位置: 首页 > news >正文

新版本Cesium离线部署方法

之前发的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();