第一个cesium项目
455 字
2 分钟
第一个cesium项目
第一个cesium项目
创建 Vite 项目
这里使用vite搭建demo, 选择 Vanilla (代表原生 JS)
npm create vite@latest my-cesium-demo安装 Cesium
我们需要安装 Cesium 库本身,以及一个专门为 Vite 打造的 Cesium 插件。
-
安装 Cesium:
Terminal window npm install cesium -
安装 Vite 插件 (vite-plugin-cesium): 这个插件会自动帮你处理 Cesium 的静态资源。
Terminal window npm install vite-plugin-cesium -D
配置 Vite
在项目根目录新建 vite.config.js 文件。
import { defineConfig } from 'vite';import cesium from 'vite-plugin-cesium'; // 引入插件
export default defineConfig({ plugins: [ cesium() // 使用插件 ]});Cesium 代码
打开 index.html,把 <body> 里的内容改成一个简单的 div,作为 Cesium 的容器:
<!doctype html><html lang="en"> <head> <meta charset="UTF-8" /> <link rel="icon" type="image/svg+xml" href="/vite.svg" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Cesium Demo</title> </head> <body> <div id="cesiumContainer"></div> <script type="module" src="/main.js"></script> </body></html>main.js
// 1. 引入 Cesium 的 CSSimport 'cesium/Build/Cesium/Widgets/widgets.css'
// 2. 引入 Cesium 库import * as Cesium from 'cesium'
// 3. 设置 Cesium 静态资源路径// (这一步很重要,vite-plugin-cesium 会自动处理,但我们需要告诉 Cesium 从哪里加载)window.CESIUM_BASE_URL = '/Cesium/'
// 4. (可选) 设置你的 Cesium Ion Tokenconst ACCESS_TOKEN = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI4ZjRiOWJjYS05YjFlLTQwMDItODJlMy1iNzNkODU5NDJiMjIiLCJpZCI6Mjg1NjUyLCJpYXQiOjE3NDIzNjYzODB9._KJdWwzj8NIjoVImtrNdClZ3zqa44wo3qb5cOXdOpBU'Cesium.Ion.defaultAccessToken = ACCESS_TOKEN
// 5. 初始化 Cesium Viewerconst viewer = new Cesium.Viewer('cesiumContainer', { // --- 为了保持 Demo 简洁,我们关闭一些默认控件 --- animation: false, // 是否显示动画控件 baseLayerPicker: false, // 是否显示图层选择器 fullscreenButton: false, // 是否显示全屏按钮 geocoder: false, // 是否显示地名查找控件 homeButton: false, // 是否显示 Home 按钮 infoBox: false, // 是否显示信息框 sceneModePicker: false, // 是否显示3D/2D/哥伦布视图切换器 selectionIndicator: false, // 是否显示选取指示器 timeline: false, // 是否显示时间线 navigationHelpButton: false, // 是否显示导航帮助按钮
})// (可选) 关掉 logoviewer._cesiumWidget._creditContainer.style.display = 'none'// 移除原有的layerviewer.imageryLayers.remove(viewer.imageryLayers.get(0))// viewer.imageryLayers.removeAll()
// 添加一个在 Ion 注册的 layerconst imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3954))viewer.imageryLayers.add(imageryLayer)
console.log('Cesium + Vite demo is running!')文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
关于 cesium 在 micro-app 下无法显示的问题
cesium基座:vite + vue3 子应用:vite + vue3 micro app v1.0.0 rc.29, cesium v1.135 子应用包含一个 cesium map,在基座打开子应用时,cesium 无法显示地图,但是 sence, sky box, model 都能正常显示,唯独地图不显…
2
仅显示某个行政区划(cesium 挖孔)
cesium添加polygon, 中间挖孔, 仅显示某个区域 GeoJSON为 GeoJSON , 行政区划下载
3
react-hooks
reactReact 的核心是组件。v16.8 版本之前,组件的标准写法是类(class)。 任何一个组件,可以用类来写,也可以用钩子来写。下面是类的写法。 再来看钩子的写法,也就是函数。 官方推荐使用钩子(函数),而不是类。因为钩子更简洁,代码量少,用起来比较"轻",而类比较"重"。而且,钩子是函数,更符合…
4
TypeScript 进阶
TypeScript数组合并了相同类型的对象,而元组(Tuple)合并了不同类型的对象。 元组起源于函数编程语言(如 F ),这些语言中会频繁使用元组。 元组是⼀种特殊的数组类型,可以存储固定数量的元素,并且每个元素的类型是已知的且可以不同。元组⽤于精确描述⼀组值的类型, ? 表示可选元素。 定义一对值分别为 stri…
5
TypeScript 基础
TypeScriptJavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。 原始数据类型包括:布尔值、数值、字符串、 null 、 undefined 以及 ES6 中的新类型 Symbol 和 ES10 中的新类型 BigInt 。
随机文章随机推荐














