Cesium Demo

一、安装Cesium

 输入命令:npm install cesium

二、转移编译好的cesium静态文件
 

​ 将node_modules\cesium\Build 下面的Cesium文件,复制到static文件中,记得删除Cesium.js

​ 将Cesium文件夹整个复制过去哦,下面一共有4个文件夹:

Assets--------------->存放导入的静态资源
ThirdParty--------------->存放第三方资源
Widgets--------------->小部件
workers--------------->这个还没搞清楚,后续再更新    


三、修改Webpack的配置项
 

在webpack.base.conf.js文件下面修改:

1、新增sourcePrefix: ’ ’

output: {
    path: config.build.assetsRoot,
    filename: '[name].js',
    publicPath: process.env.NODE_ENV === 'production'
      ? config.build.assetsPublicPath
      : config.dev.assetsPublicPath,
    sourcePrefix: ' '     //正确缩进多行字符串
 }

2、新增unknownContextCritical: false和unknownContextRegExp: /^./.*$/
module: {
    rules: [
     .....
    ],
    unknownContextRegExp: /^.\/.*$/, //打印载入特定库时候的警告
    unknownContextCritical: false    //解决Error: Cannot find module "."
  }



四、创建组件

<div id="cesiumContainer"></div>
1
import Cesium from 'cesium/Source/Cesium.js'
import buildModuleUrl from 'cesium/Source/Core/buildModuleUrl'
import 'cesium/Source/Widgets/widgets.css'

export default {
    data () {
        return {
            viewer :'',
            tileset '',
        }
    },
    mounted (){
       // 设置静态资源目录
      buildModuleUrl.setBaseUrl('../../static/Cesium/')
      // // 创建viewer实例
      this.viewer = new Cesium.Viewer('cesiumContainer', {
      // 需要进行可视化的数据源的集合
        animation: false, // 是否显示动画控件
        shouldAnimate: true,
        homeButton: false, // 是否显示Home按钮
        fullscreenButton: false, // 是否显示全屏按钮
        baseLayerPicker: true, // 是否显示图层选择控件
        geocoder: false, // 是否显示地名查找控件
        timeline: false, // 是否显示时间线控件
        sceneModePicker: true, // 是否显示投影方式控件
        navigationHelpButton: false, // 是否显示帮助信息控件
        infoBox: false, // 是否显示点击要素之后显示的信息
        requestRenderMode: true, // 启用请求渲染模式
        scene3DOnly: false, // 每个几何实例将只能以3D渲染以节省GPU内存
        sceneMode: 3, // 初始场景模式 1 2D模式 2 2D循环模式 3 3D模式  Cesium.SceneMode
        fullscreenElement: document.body // 全屏时渲染的HTML元素 暂时没发现用处
      })
      // 去除版权信息
      this.viewer._cesiumWidget._creditContainer.style.display = 'none'
      // Cesium3DTileset用来实现大范围的模型场景数据的加载应用
      // 三维倾斜模型、人工建模、BIM模型等等,都可以转换成3DTiles
      this.tileset = this.viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
        url: '../static/Cesium/Assets/Model/Model.json', // 数据路径
        dynamicScreenSpaceError: true,
        cullWithChildrenBounds: false,
        // 当skipLevelOfDetail为true,是一个常量,用于定义加载切片时要跳过的最小级别数。
        skipLevels: 0,
        maximumScreenSpaceError: 0 // 最大的屏幕空间误差
        // maximumNumberOfLoadedTiles: 1000,  //最大加载瓦片个数
      }))
      this.viewer.zoomTo(this.tileset)
    }
   }


五、启动vue项目

六、出现的问题
1、模型导入路径问题

2.启动后出现编辑警告,但是地球页面可以出来

添加配置项:

//在webpack.base.conf.js文件下面添加
 module: {
    rules: [
      ...(config.dev.useEslint ? [createLintingRule()] : []),
      {
        test: /\.js\.map$/,
        use: {
          loader: 'file-loader'
        }
       }
      .....
    ]
 }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值