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

vue3+vite搭建第一个cesium项目详细步骤及环境配置(附源码)

文章目录

  • 1.创建vue+vite项目
  • 2.安装 Cesium
    • 2.1 安装cesium
    • 2.2 安装vite-plugin-cesium插件(非必选)
    • 2.3 新建组件页面map.vue
    • 2.4 加载地图
  • 3.完成效果图

1.创建vue+vite项目

打开cmd窗口执行以下命令:cesium-vue-app是你的项目名称

npm create vite@latest cesium-vue-app -- --template vue

创建完成后依次执行以下命令用于安装、启动项目:

cd cesium-vue-app
npm install
npm run dev

2.安装 Cesium

进入项目文件夹,打开cmd窗口执行:

2.1 安装cesium

npm install --save cesium

2.2 安装vite-plugin-cesium插件(非必选)

vite-plugin-cesium 是一个专门为 Vite 构建工具定制的插件,用于在 Vite 项目中轻松使用 Cesium 库。它简化了在 Vite 项目中集成 Cesium 的过程,并提供了一些额外的功能和配置选项。而直接安装 Cesium 库,你需要手动配置 Vite 项目以确保正确引入和使用 Cesium。这可能涉及到配置模块加载器、处理依赖关系、解决版本冲突等问题。相比之下,使用 vite-plugin-cesium 插件可以让这些步骤更加简单和方便;

  • cmd执行插件安装命令:
npm i vite-plugin-cesium vite -D
  • 配置vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import cesium from 'vite-plugin-cesium'export default defineConfig({plugins: [vue(),cesium()],
})

2.3 新建组件页面map.vue

(1)引入cesium

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

(2)创建一个div作为地图容器,并设置其id为“cesiumContainer”

  <div class="map-box" id="cesiumContainer"></div>

(3)设置地图容器样式的高度和宽度均为100%

  • 首先要将body的宽高设置为100vw和100vh;
body {margin: 0;display: flex;place-items: center;min-height: 100%;height: 100vh;width: 100vw;
}
  • 其次设置vue项目dom容器的宽高为100%;
#app {margin: 0 auto;text-align: center;height: 100%;width: 100%;
}
  • 最后设置地图容器的宽高
<style scoped>.map-box {height: 100%;width: 100%;}
</style>

2.4 加载地图

(1)申请token
首先登录网址https://cesium.com/ion/signin/tokens,在注册后申请token,然后创建一个cesium对象,并使用我们创建的div容器承载地图。
(2)编写代码脚本加载容器。

<script setup>import {ref,onMounted} from 'vue'import * as Cesium from 'cesium'onMounted(() => {Cesium.Ion.defaultAccessToken = "your cesium token"const viewer = new Cesium.Viewer('cesiumContainer', {geocoder: true, // 是否显示位置查找工具(true表示是,false表示否)homeButton: true, // 是否显示首页位置工具sceneModePicker: true, //是否显示视角模式切换工具baseLayerPicker: true, //是杏显示默认图层选择工具navigationHelpButton: true, //是否显示导航帮助工具animation: true, //是杏显示动画工具timeline: true, //是否显示时间轴工具fullscreenButton: true, //是否显示全屏按钮工具})});
</script>

3.完成效果图

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Vue3 + Vite项目使用SVG图片
  • OLED柔性显示屏的金线封装胶
  • 【开源合规】开源许可证风险场景详细解读
  • 响应式设计的双璧:WebKit 支持 CSS Flexbox 和 Grid 布局深度解析
  • 强引用?软引用?弱引用?虚引用?一文带你彻底搞懂!!
  • 演唱会售票系统(Springboot+MySQL+Mybatis+BootStrap)
  • flask使用定时任务flask_apscheduler(APScheduler)
  • vue3解决报错:ResizeObserver loop completed with undelivered notifications
  • MinIO - 服务端签名直传(前端 + 后端 + 效果演示)
  • git查看版本,查看安装路径、更新版本
  • 图解 RocketMQ 架构
  • 三星首款智能戒指 Galaxy Ring 将于7月24日上市,售价399美元
  • 深入理解 KVO
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 找单词(200分) - 三语言AC题解(Python/Java/Cpp)
  • 真实测评网上较火的两款智能生成PPT产品:秒出PPTAI PPT
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • C++类中的特殊成员函数
  • Date型的使用
  • maven工程打包jar以及java jar命令的classpath使用
  • oschina
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • React组件设计模式(一)
  • 阿里云前端周刊 - 第 26 期
  • 如何进阶一名有竞争力的程序员?
  • 如何用vue打造一个移动端音乐播放器
  • 深入 Nginx 之配置篇
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 自动记录MySQL慢查询快照脚本
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​香农与信息论三大定律
  • ​字​节​一​面​
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #Linux(make工具和makefile文件以及makefile语法)
  • #每日一题合集#牛客JZ23-JZ33
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (论文阅读11/100)Fast R-CNN
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (三) diretfbrc详解
  • (十)Flink Table API 和 SQL 基本概念
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)Windows2003安全设置/维护
  • (转载)Google Chrome调试JS
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现