在vite创建的vue3项目中使用Cesium加载立体地形信息并调整初始化角度

在vite创建的vue3项目中使用Cesium加载立体地形信息并调整初始化角度

  1. 使用vite创建vue3项目

    npm create vite@latest
    

    cd到创建的项目文件夹中

    npm install
    

    安装Cesium

    npm i cesium vite-plugin-cesium vite -D
    
  2. 配置

    (1)在项目的vite.config.js文件中添加:

    import { defineConfig } from 'vite'
    import vue from '@vitejs/plugin-vue'
    import cesium from 'vite-plugin-cesium';
    export default defineConfig({
      plugins: [vue(), cesium()]
    });
    
    

    (2)App.vue

    <template>
      <div id="cesiumContainer"></div>
    </template>
    
    <script setup>
    import * as Cesium from 'cesium';
    import { onMounted } from 'vue';
    onMounted(async () => {
      // 需要你自己注册Cesium账号,https://ion.cesium.com/,获取自己的token数据
      Cesium.Ion.defaultAccessToken = "你的token值"
    
      let viewer = new Cesium.Viewer('cesiumContainer', {
        // 避免 报错 但是加上之后点物体就不会弹窗显示信息了
        infoBox: false,
        // 注意和前边的async搭配
        terrainProvider: await Cesium.CesiumTerrainProvider.fromIonAssetId(1, {
          // 山 沟 立体效果
          requestVertexNormals: true,
          // 水流动效果
          requestWaterMask: true
        })
      })
    
    
      viewer.camera.setView({
        // 初始的相机的定位
        destination: new Cesium.Cartesian3(1332761, -4662399, 4137888),
        // 方向 俯仰
        orientation: {
          heading: 0.6,
          pitch: -0.66
        }
      })
    
    })
    </script>
    
    <style>
    html,
    body,
    #app,
    #cesiumContainer {
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      overflow: hidden;
    }
    </style>
    
    

    注意:加载立体效果的时候用async和await配合;token值需要自己注册获取,

    onMounted(async () => {
      Cesium.Ion.defaultAccessToken = '你的token值'
    
      let viewer = new Cesium.Viewer('cesiumContainer', {
        // 避免 报错
        infoBox: false,
        // 注意和前边的async搭配
        terrainProvider: await Cesium.CesiumTerrainProvider.fromIonAssetId(1, {
          // 山 沟 立体效果
          requestVertexNormals: true,
          // 水流动效果
          requestWaterMask: true
        })
      })
    
    
      viewer.camera.setView({
        // 初始的相机的定位
        destination: new Cesium.Cartesian3(1332761, -4662399, 4137888),
        // 方向 俯仰
        orientation: {
          heading: 0.6,
          pitch: -0.66
        }
      })
    
    })
    

npm run dev 运行效果如图所示:
初始化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值