开源cesium快速扩展示例-加载3dtiels服务

开源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)
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值