当前位置: 首页 > news >正文

第一个cesium应用

前提:使用的是vue3创建项目。如何创建vue3

cesium官网

一、安装cesium依赖

$ npm install vite-plugin-cesium

二、修改vite.config.js

import { fileURLToPath, URL } from 'node:url' import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' import cesium from 'vite-plugin-cesium' import vueDevTools from 'vite-plugin-vue-devtools' // https://vite.dev/config/ export default defineConfig({ plugins: [ vue(), vueJsx(), vueDevTools(), cesium(), ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), 'cesium': fileURLToPath(new URL('./node_modules/cesium', import.meta.url)), }, }, define: { CESIUM_BASE_URL: JSON.stringify('/cesium') }, })

重点是import cesium from 'vite-plugin-cesium'和plugins: []中添加cesium(),

三、在根目录创建.env

文件内容如下:

# Cesium Ion Access Token,从https://ion.cesium.com获取 VITE_CESIUM_ION_TOKEN=你的Cesium Ion Access Token

四、修改main.js

import { createApp } from 'vue' import { createPinia } from 'pinia' import * as Cesium from 'cesium' import 'cesium/Source/Widgets/widgets.css' import App from './App.vue' import router from './router' // 设置Cesium的AccessToken Cesium.Ion.defaultAccessToken = import.meta.env.VITE_CESIUM_ION_TOKEN const app = createApp(App) app.use(createPinia()) app.use(router) app.mount('#app')

重点是:

import * as Cesium from 'cesium'

import 'cesium/Source/Widgets/widgets.css'

// 设置Cesium的AccessToken

Cesium.Ion.defaultAccessToken = import.meta.env.VITE_CESIUM_ION_TOKEN

五、在App.vue中创建cesium实例

<template> <div ref="cesiumContainer" class="cesium-container"></div> </template> <script setup> import { ref, onMounted, onUnmounted } from 'vue' import * as Cesium from 'cesium' import 'cesium/Source/Widgets/widgets.css' const cesiumContainer = ref(null) let viewer = null onMounted(() => { viewer = new Cesium.Viewer(cesiumContainer.value) }) onUnmounted(() => { if (viewer) viewer.destroy() }) </script> <style scoped> .cesium-container { width: 100vw; height: 100vh; } </style>

六、关闭infoBox

项目运行后,浏览器控制台提示
Blocked script execution in 'about:blank' because the document's frame is sandboxed and the 'allow-scripts' permission is not set.

解决办法是

onMounted(() => { viewer = new Cesium.Viewer(cesiumContainer.value, { infoBox: false, // 禁用infoBox避免沙盒化iframe问题 }) })

更多初始化配置参数详见Cesium.Viewer.ConstructorOptions

至此一个完整的cesium的hello world demo就完成了

http://www.jsqmd.com/news/654280/

相关文章:

  • Qwen3-ASR-0.6B模型压缩与量化教程:进一步降低部署资源需求
  • 面试官:聊聊Spring是如何解决解决循环依赖的?
  • 生成式AI服务发现必须绕开的6个RFC陷阱(附CNCF官方未公开的兼容性测试报告)
  • 深入解析Rockchip RK3588 Linux SDK的构建系统:从build.sh脚本到多系统镜像生成
  • 告别固定分辨率!用Qwen2-VL的‘动态分辨率’技术,让你的AI看清图片里的每一个像素
  • Java程序员如何快速掌握高并发系统架构设计核心技术?
  • baidu-wangpan-parse:突破百度网盘限速的Python直链解析方案
  • 2026年比较好的新型墙体建材生产厂家推荐几家 - 行业平台推荐
  • 龙泽科技新能源充电设备仿真教学软件|技术解析+职教落地指南
  • Premiere Pro(pr)2026版最新详细安装教程
  • Kaggle数据集下载全攻略:从注册到本地存储的完整指南
  • 在旧货市场买东西需要避哪些坑?
  • TongWeb部署实战:从Domain创建到应用隔离,手把手教你规划生产环境(含冲突应用处理方案)
  • Pi0机器人控制模型优化建议:提升Web界面响应速度的方法
  • 2026年靠谱的钢铁冲压皮膜剂/高分子皮膜剂厂家综合实力对比 - 品牌宣传支持者
  • 2026年3月,最好的外墙材料150500搭配技能分享,仿石外墙瓷砖/外立面福字瓷砖壁画,外墙材料供应商推荐 - 品牌推荐师
  • 如何快速掌握暗黑破坏神2存档编辑器:新手完整使用指南
  • 2026年AI学习平台怎么选?深度对比5家主流平台,创业者必看
  • 2026年质量好的儿童洗鼻器/生理盐水洗鼻器值得信赖的生产厂家 - 行业平台推荐
  • 高速CAN、低速容错CAN傻傻分不清?一文讲透ISO11898与ISO11519-2标准差异及选型避坑
  • all-MiniLM-L6-v2部署教程:使用systemd守护进程保障Embedding服务稳定性
  • 2026年热门的实验室低温冷却液循环泵/DLSB 系列低温冷却液循环泵/低温冷却液循环泵制冷机组生产厂家推荐 - 行业平台推荐
  • AgentCPM-Report落地实践:像素史诗终端在高校科研中的应用案例
  • 全境封锁2 d3dx11_43.dll 丢失 一键修复:手把手教程与工具推荐
  • FlowState Lab 模型API接口详解与调用实战
  • 2026年评价高的5052铝卷/彩涂铝卷公司口碑哪家靠谱 - 品牌宣传支持者
  • 智慧树自动刷课插件:5分钟快速安装完整指南
  • MedGemma Medical Vision Lab服务医院信息科:轻量级本地化AI影像辅助教学系统落地案例
  • 2026年比较好的铁路道口拦门/铁路道口远程控制/铁路道口视频预警系统/铁路道口集中控制口碑好的厂家推荐 - 品牌宣传支持者
  • Pixel Script Temple保姆级教程:Chrome插件模式接入现有写作工具链方案