开源cesium快速扩展示例-加载3dtiels服务
一、介绍
官方开源cesium库提供标准基础的三维GIS功能,实际项目应用中各类复杂情况如自定义参考系、自定义裁图方案、各类特殊参数、空间分析等均需开发者对开源库进行扩展。为解决此类问题MapGIS Client for JavaScript提供了基础接口、空间分析等各种扩展和优化,能够支持全空间的数据融合、大体量数据承载及渲染、空间数据三维查询和分析等能力。
本篇内容将介绍开源cesium如何使用MapGIS Client for JavaScript插件进行快速扩展加载3dtiels1.0和3dtiels1.1服务。
二、开发步骤
1.初始化cesium球体
cesium原生接口可以正常使用,若需使用插件中的接口可参考MapGIS的开发示例和API文档,其中开发示例标题中带有原生接口的示例代码可供参考。
以下为扩展后调用3dtiels服务的关键代码,初始化球体和跳转均使用cesium原生接口。
// 全局变量
let viewer
// 初始化球体
viewer = new Cesium.Viewer('cesiumContainer')
2.加载3dtiels1.0服务
// 注意:Cesium 1.107及后续版本中只能使用Cesium3DTileset.fromUrl接口加载3D Tiles
// 不可以使用Cesium3DTileset构造方法来加载3D Tiles,因此若Cesium的版本不同则需要使用
// 分支调用不同的接口来加载3D Tiles
// 3D Tiles 1.0的加载方法,Cesium 1.107先前版本
const tileset = new Cesium.Cesium3DTileset({
url: 'http://webclient.smaryun.com:8200/3DData/ModelCache/3DTileset/1.0/dayantaresult/tileset.json',
})
viewer.scene.primitives.add(tileset)
viewer.zoomTo(tileset)
3.加载3dtiels1.1服务
// 3D Tiles 1.1的加载方法(3D Tiles 1.0同理),Cesium 1.107及后续版本
const url = 'http://webclient.smaryun.com:8200/3DData/ModelCache/3DTileset/1.0/dayantaresult/tileset.json'
async function load3DTileset(url) {
const tileset = await Cesium.Cesium3DTileset.fromUrl(url)
viewer.scene.primitives.add(tileset)
viewer.zoomTo(tileset)
}
2067

被折叠的 条评论
为什么被折叠?



