# cesium_demo **Repository Path**: wangzz_felix/cesium_demo ## Basic Information - **Project Name**: cesium_demo - **Description**: Cesium案例学习 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 12 - **Forks**: 3 - **Created**: 2023-12-25 - **Last Updated**: 2024-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vite_vue3_cesium ## 工具|参考 1. https://www.iconfont.cn/ 2. https://juejin.cn/post/7032304659595280420 3. https://sketchfab.com/3d-models/ ### 安装vite环境 ``` npm create vite@latest ``` Project name:vite_vue3_cesium
Vanilla // 纯html js
Vue // vue3
React // react
Preact
Lit
Svelte
Others
Select a framework: » Vue
Select a variant: » JavaScript
Done. Now run:
``` cd vite_vue3_cesium npm install npm run dev ``` Local: http://localhost:5173/
➜ Network: use --host to expose
➜ press h to show help
启动vite_vue3
### 安装cesium Install with NPM
``` npm install cesium ``` ### 建立环境变量 ### 开发环境 .env.development
``` VITE_APP_CESIUM = "./public/Cesium/" ``` ### 生产环境 .env.production
``` VITE_APP_CESIUM = "./Cesium/" ``` \node_modules\cesium\Build\cesium
复制Cesium到public下
src下 新建js目录
建立initCesium.js ``` //指定拷贝到根目录下的Cesium window.CESIUM_BASE_URL = './Cesium/'; import * as Cesium from 'cesium'; import "cesium/Build/Cesium/Widgets/widgets.css"; export const initCesium = () => { //填写官网注册的ion,否则也会找不到东西 Cesium.Ion.defaultAccessToken = 'your_access_token'; // Initialize the Cesium Viewer in the HTML element with the "cesiumContainer" ID. const viewer = new Cesium.Viewer('cesiumContainer', { terrainProvider: Cesium.createWorldTerrain() }); // Add Cesium OSM Buildings, a global 3D buildings layer. const buildingTileset = viewer.scene.primitives.add(Cesium.createOsmBuildings()); // Fly the camera to San Francisco at the given longitude, latitude, and height. viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400), orientation: { heading: Cesium.Math.toRadians(0.0), pitch: Cesium.Math.toRadians(-15.0), } }); } ``` components组件目录下建立
CesiumDom.vue
``` ``` ### 修改App.vue ``` ``` ### 修改运行dev、build ### 修改 package.json ``` "scripts": { "dev": "vite --mode development", "build": "vite build --mode production", "preview": "vite preview" } ``` ### 打包 vite.config.js ``` import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue()], base: './'//修改打包路径相对路径,这样可以放到网站子目录 }) ```