14 - Vue3 + Cesium配置方案:

(1)安装依赖:

"dependencies": {
    "cesium": "^1.93.0",
    "sass": "^1.70.0",
    "vue": "^3.3.11"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^4.5.2",
    "vite": "^5.0.8",
    "vite-plugin-cesium": "^1.2.22",
    "vue-router": "^4.2.5"
  }

(2)在vite.config.js中添加插件:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import cesium from 'vite-plugin-cesium'
import path from 'path'

export default defineConfig({
  plugins: [vue(), cesium()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'src')
    }
  }
})

(3)添加Home.vue,并引入Cesium,同时去掉Cesium默认组件:

<script setup>
import * as Cesium from 'cesium'
import { onMounted } from 'vue'

onMounted(() => {
  const viewer = new Cesium.Viewer('cesiumContainer', {
    animation: false,   // 动画小组件
    baseLayerPicker: false,  // 底图组件,选择三维数字地球的底图
    fullscreenButton: false,  // 全屏组件
    vrButton: false,    // VR模式
    geocoder: false,    // 地理编码搜索组件
    homeButton: false,  // 首页,点击之后将视图跳转到默认视角
    infoBox: false,     // 信息框
    sceneModePicker: false,  // 场景模式,切换2D、3D和Columbus Views(CV)模式
    selectionIndicator: false,  // 是否显示选取指示器组件
    timeline: false,    // 时间轴
    navigationHelpButton: false,    // 帮助提示,如何操作数字地球
    navigationInstructionsInitiallyVisible: false,
    // 添加地形效果
    // terrain: new Cesium.Terrain.fromWorldTerrain({
    //   url: Cesium.IonResource.fromAssetId(3956),
    //   requestWaterMask: true,    // 请求水体效果所需要的海水波浪数据
    //   requestVertexNormals: true   // 请求地形照明数据
    // })
    // 添加Cesium官方图层
    baseLayer: Cesium.ImageryLayer.fromProviderAsync(
      Cesium.TileMapServiceImageryProvider.fromUrl(
        // 给定 Cesium 基本 URL 下的相对 URL,返回绝对 URL。
        // http://localhost:5173/cesium/Assets/Textures/NaturalEarthII
     Cesium.buildModuleUrl("Assets/Textures/NaturalEarthII"),
      )),
  })
})
</script>

<template>
  <div id="cesiumContainer"></div>
</template>

<style lang="scss">
#cesiumContainer {
  width: 100vw;
  height: 100vh;
    .cesium-viewer-bottom {
    visibility: hidden;
  }
}
</style>
Last Updated:
Contributors: zly