# 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: './'//修改打包路径相对路径,这样可以放到网站子目录
})
```