在vue3中使用Cesium的保姆教程

news2025/5/17 17:12:13

1. 软件下载与安装

       1. node安装

Vue.js 的开发依赖于 Node.js 环境,因此我们首先需要安装 Node.js。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许你在服务器端运行 JavaScript 代码,同时也为前端开发提供了强大的工具支持。

 官网下载 Node.js,Node.js 中文网地址:下载 | Node.js 中文网 。在下载页面中,你可以根据自己的系统版本选择合适的安装包。一般来说,推荐下载最新版本的 Node.js,以确保你能够使用最新的特性和功能。

 安装比较简单,可以参考:node安装步骤,完成node安装,下载安装完成后

 2. 检查是否安装成功

  打开window+r快捷键打开,输入cmd,回车,然后输入node -v命令

安装成功显示node版本

node -v

 2. 介绍npm、cnpm、yarn、pnpm

   1.npm

    npm是 node.js 的模块依赖管理工具

   常见场景:

  • 允许用户从 npm 服务器下载别人编写的第三方包到本地使用。
  • 允许用户从 npm 服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到 npm 服务器供别人使用。

  2. cnpm

使用 npm 安装包时,需要去 npm 仓库获取,而 npm 仓库在国外,很不稳定,有时获取会失败。淘宝搭建了一个国内npm服务器,会定时拉取国外npm仓库内容,把国外的搬运到国内。

设置使用淘宝镜像

npm install -g cnpm --registry=http://registry.npmmirror.com

 检查是否安装成功:cnpm -v 安装成功后,后续用npm还是使用cnpm安装都可以。如下图:cnpm安装成功

     3. yarn

官网:yarn - npm

  • 快速:Yarn缓存了它下载的每个包,所以它再也不需要下载同一个包了。它还几乎同时执行所有操作,以最大限度地提高资源利用率。这意味着安装速度更快。
  • 可靠:使用详细但简洁的锁定文件格式和确定性的安装操作算法,Yarn能够保证在一个系统上运行的任何安装在另一个系统上将完全相同。
  • 安全:在执行代码之前,Yarn使用校验和来验证每个安装包的完整性安装

安装yarn 

npm install --global yarn

 查看版本

yarn --version

yarn 是用 yarn add 代替 npm install
yarn remove 代替 npm uninstall

安装依赖模块
        yarn add [package]
        yarn add [package]@[version]
        yarn add [package]@[tag]
删除依赖模块:yarn remove [package]
更新依赖模块
        yarn upgrade [package]
        yarn upgrade [package]@[version]
        yarn upgrade [package]@[tag]
配置源。yarn默认的源地址:https://registry.yarnpkg.com ,如果下载太慢,可以修改源
查看镜像源:yarn config get registry
绑定镜像源:yarn config set registry https://registry.npmmirror.com
删除镜像源(注意这里是 delete):yarn config delete registry

     4. pnpm

pnpm 由 npm/yarn 衍生而来,解决了 npm/yarn 内部潜在的 bug,极大的优化了性能,扩展了使用场景。被誉为 最先进的包管理工具。

安装pnpm

npm install -g pnpm

 pnpm add 安装软件包及其依赖的任何软件包。默认情况下,任何新软件包都安装为生产依赖项。

pnpm add sax      # 保存到 dependencies
pnpm add -D sax   # 保存到 devDependencies
pnpm add -O sax   # 保存到 optionalDependencies
pnpm add -g sax   # 安装包到全局
pnpm add sax@next   #从 next 标签下安装
pnpm add sax@3.0.0  #安装指定版本 3.0.0

2. 创建vue3项目

1. 使用 Vue CLI 创建 Vue 3 项目

这里用cnpm作为演示案列,也可以使用yarn、pnpm等管理工具。

1. 安装 Vue CLI

如果你还没有安装 Vue CLI,可以通过 npm(Node Package Manager)来安装。打开终端或命令提示符并运行:

npm install -g @vue/cli

 2. 创建项目

vue create my-vue-project

 在提示中选择 Vue 3 的配置。Vue CLI 会让你选择一系列预设,你可以选择手动选择特性,然后确保选择了 Vue 3。

3. 进入项目 

cd my-vue-project

 4. 安装依赖包

cnpm install

5. 运行项目

cnpm run dev

 2. 使用Vite创建Vue3项目

1.全局安装Vite

cnpm install -g create-vite

2. 创建项目

cnpm create vite@latest my-vue-project -- --template vue

 3.进入项目、安装依赖、运行项目

        如使用Vue Cli安装3、4、5步骤一样

3. 通过命令下载cesium

通过命令下载Cesium和Plugin

cnpm install cesium 
cnpm install vite-plugin-cesium -D

 vite.config.js配置如下:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue';
import path from 'path';
import cesium from 'vite-plugin-cesium';


export default defineConfig({
  plugins: [vue(),cesium()]
})

4. 在组件中使用cesium

import * as Cesium from "cesium";

 设置容器

<template>
  <div class="cesium" id="cesiumContainer" style="width: 100%;height: 100vh;"></div>
</template>

 初始化cesium地图:

const cesiumConfig = {
        // 主页按钮
        homeButton: false,
        // 场景模式选择器
        sceneModePicker: false,
        // 全屏按钮
        fullscreenButton: false,
        // 是否显示点击要素之后显示的信息
        infoBox: false,
        // 要素选中框
        selectionIndicator: false,
        // 影像切换
        baseLayerPicker: false,
        // 启用了阴影效果
        shadows: true,
        // 启用动画
        shouldAnimate: true,
        // 是否显示动画控件
        animation: false,
        // 是否显示时间线控件
        timeline: false,
        // 是否显示地名查找控件
        geocoder: false,
        // 是否显示帮助信息控件
        navigationHelpButton: false,
        contextOptions: {
            contextType: 2, // Webgl2:2 ; WebGPU:3
        },
        // 版权信息
        creditContainer: document.createElement('div')
    }
 viewer = new Cesium.Viewer('cesiumContainer',cesiumConfig)

 全部代码:

<template>
  <div class="cesium" id="cesiumContainer" style="width: 100%;height: 100vh;"></div>
</template>

<script setup>
    import {onMounted} from "vue";
    import * as Cesium from "cesium";
    let viewer;

    Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI0MGQ2MGRkYS1lNDAzLTRmNjEtOGQ3ZC0xOGE2NmZhMmRhMDgiLCJpZCI6NjgzNTYsImlhdCI6MTc0NzM2MjY1OH0.flKVgGOtDCPSQc2OaWX0lyW7YblQPwFQyHduDn3_Igo';
    const cesiumConfig = {
        // 主页按钮
        homeButton: false,
        // 场景模式选择器
        sceneModePicker: false,
        // 全屏按钮
        fullscreenButton: false,
        // 是否显示点击要素之后显示的信息
        infoBox: false,
        // 要素选中框
        selectionIndicator: false,
        // 影像切换
        baseLayerPicker: false,
        // 启用了阴影效果
        shadows: true,
        // 启用动画
        shouldAnimate: true,
        // 是否显示动画控件
        animation: false,
        // 是否显示时间线控件
        timeline: false,
        // 是否显示地名查找控件
        geocoder: false,
        // 是否显示帮助信息控件
        navigationHelpButton: false,
        contextOptions: {
            contextType: 2, // Webgl2:2 ; WebGPU:3
        },
        // 版权信息
        creditContainer: document.createElement('div')
    }
    const initMap = () => {
        viewer = new Cesium.Viewer('cesiumContainer',cesiumConfig)
    }
    onMounted(() => {
        initMap();
    })
</script>

<style lang="less" scoped></style>

 运行项目,效果如下:

参考资料如下:

node包管理工具:npm、pnpm、cnpm、npx、yarn https://blog.csdn.net/freeking101/article/details/109821916

cesium Vue3 从创建到添加天地图    Cesium 入门教程(基于 vue3)-腾讯云开发者社区-腾讯云

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2377842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IP地址、端口、TCP介绍、socket介绍、程序中socket管理

1、IP地址&#xff1a;IP 地址就是 标识网络中设备的一个地址&#xff0c;好比现实生活中的家庭地址。IP 地址的作用是 标识网络中唯一的一台设备的&#xff0c;也就是说通过IP地址能够找到网络中某台设备。 2、端口&#xff1a;代表不同的进程,如下图&#xff1a; 3、socket:…

搭建运行若依微服务版本ruoyi-cloud最新教程

搭建运行若依微服务版本ruoyi-cloud 一、环境准备 JDK > 1.8MySQL > 5.7Maven > 3.0Node > 12Redis > 3 二、后端 2.1数据库准备 在navicat上创建数据库ry-seata、ry-config、ry-cloud运行SQL文件ry_20250425.sql、ry_config_20250224.sql、ry_seata_2021012…

RK3568-鸿蒙5.1与原生固件-扇区对比分析

编译生成的固件目录地址 ../openharmony/out/rk3568/packages/phone/images鸿蒙OS RK3568固件分析 通过查看提供的信息&#xff0c;分析RK3568开发板固件的各个组件及其用途&#xff1a; 主要固件组件 根据终端输出的文件列表&#xff0c;RK3568固件包含以下关键组件&#x…

常见激活函数——作用、意义、特点及实现

文章目录 激活函数的意义常见激活函数及其特点1. Sigmoid&#xff08;Logistic 函数、S型函数&#xff09;2. Tanh&#xff08;双曲正切函数&#xff09;3. ReLU&#xff08;Rectified Linear Unit修正线性单元&#xff09;4. Softmax5. Swish&#xff08;Google 提出&#xff…

基于微信小程序的在线聊天功能实现:WebSocket通信实战

基于微信小程序的在线聊天功能实现&#xff1a;WebSocket通信实战 摘要 本文将详细介绍如何使用微信小程序结合WebSocket协议开发一个实时在线聊天功能。通过完整的代码示例和分步解析&#xff0c;涵盖界面布局、WebSocket连接管理、消息交互逻辑及服务端实现&#xff0c;适合…

小波变换+注意力机制成为nature收割机

小波变换作为一种新兴的信号分析工具&#xff0c;能够高效地提取信号的局部特征&#xff0c;为复杂数据的处理提供了有力支持。然而&#xff0c;它在捕捉数据中最为关键的部分时仍存在局限性。为了弥补这一不足&#xff0c;我们引入了注意力机制&#xff0c;借助其能够强化关注…

【无标题】威灏光电哲讯科技MES项目启动会圆满举行

5月14日&#xff0c;威灏光电与哲讯科技MES项目启动会在威灏光电总部隆重举行。威灏光电董事长江轮、总经理刘明星、哲讯科技总经理崔新华、副总王子文及双方项目组成员共同出席&#xff0c;标志着两家企业在数字化领域的第二次深度合作正式启航。 强强联手&#xff0c;二度合作…

display:grid网格布局属性说明

网格父级 &#xff1a;display:grid&#xff08;块级网格&#xff09;/ inline-grid&#xff08;行内网格&#xff09; 注意&#xff1a;当设置网格布局&#xff0c;column、float、clear、vertical-align的属性是无效的。 HTML: <ul class"ls02 f18 mt50 sysmt30&…

排序算法之高效排序:快速排序,归并排序,堆排序详解

排序算法之高效排序&#xff1a;快速排序、归并排序、堆排序详解 前言一、快速排序&#xff08;Quick Sort&#xff09;1.1 算法原理1.2 代码实现&#xff08;Python&#xff09;1.3 性能分析 二、归并排序&#xff08;Merge Sort&#xff09;2.1 算法原理2.2 代码实现&#xf…

Java 并发编程归纳总结(可重入锁 | JMM | synchronized 实现原理)

1、锁的可重入 一个不可重入的锁&#xff0c;抢占该锁的方法递归调用自己&#xff0c;或者两个持有该锁的方法之间发生调用&#xff0c;都会发生死锁。以之前实现的显式独占锁为例&#xff0c;在递归调用时会发生死锁&#xff1a; public class MyLock implements Lock {/* 仅…

基于对抗性后训练的快速文本到音频生成:stable-audio-open-small 模型论文速读

Fast Text-to-Audio Generation with Adversarial Post-Training 论文解析 一、引言与背景 文本到音频系统的局限性&#xff1a;当前文本到音频生成系统性能虽佳&#xff0c;但推理速度慢&#xff08;需数秒至数分钟&#xff09;&#xff0c;限制了其在创意领域的应用。 研究…

ADC深入——SNR、SFDR、ENOB等概念

目录 SNR&#xff08;Spurious‑Free Dynamic Range 信噪比&#xff09; ENOB&#xff08;Effective Number Of Bits 有效位&#xff09; SFDR&#xff08;Spurious‑Free Dynamic Range&#xff09; 感觉SNR和SFDR差不多&#xff1f;看看下图 输入带宽 混叠 带通采样/欠…

硬件厂商的MIB文档详解 | 如何查询OID? | MIB Browser实战指南-优雅草卓伊凡

硬件厂商的MIB文档详解 | 如何查询OID? | MIB Browser实战指南-优雅草卓伊凡 一、硬件厂商的MIB文档是什么&#xff1f; 1. MIB的本质&#xff1a;设备的”数据字典” MIB&#xff08;Management Information Base&#xff09; 是SNMP协议的核心数据库&#xff0c;定义了设备…

阿里开源通义万相 Wan2.1-VACE,开启视频创作新时代

0.前言 阿里巴巴于2025年5月14日正式开源了其最新的AI视频生成与编辑模型——通义万相Wan2.1-VACE。这一模型是业界功能最全面的视频生成与编辑工具&#xff0c;能够同时支持多种视频生成和编辑任务&#xff0c;包括文生视频、图像参考视频生成、视频重绘、局部编辑、背景延展…

小学数学题批量生成及检查工具

软件介绍 今天给大家介绍一款近期发现的小工具&#xff0c;它非常实用。 软件特点与出题功能 这款软件体积小巧&#xff0c;不足两兆&#xff0c;具备强大的功能&#xff0c;能够轻松实现批量出题。使用时&#xff0c;只需打开软件&#xff0c;输入最大数和最小数&#xff0c…

5.13/14 linux安装centos及一些操作命令随记

一、环境准备 VMware Workstation版本选择建议 CentOS 7 ISO镜像下载指引 虚拟机硬件配置建议&#xff08;内存/处理器/磁盘空间&#xff09; 二、系统基础命令 一、环境准备 1.VMware Workstation版本选择建议 版本选择依据 选择VMware Workstation的版本时&#xff0c…

Baklib加速企业AI数据智理转型

Baklib智理AI数据资产 在AI技术深度渗透业务场景的背景下&#xff0c;Baklib通过构建企业级知识中台架构&#xff0c;重塑了数据资产的治理范式。该平台采用智能分类引擎与语义分析模型&#xff0c;将分散在邮件、文档、数据库中的非结构化数据转化为标准化的知识单元&#xf…

基于协同过滤的文学推荐系统设计【源码+文档+部署】

基于协同过滤的文学推荐系统设计 摘要 随着信息技术的飞速发展和文学阅读需求的日益多样化&#xff0c;构建一个高效、精准的文学推荐系统变得尤为重要。本文采用Spring Boot框架&#xff0c;结合协同过滤算法&#xff0c;设计并实现了一个基于用户借阅行为和社交论坛互动的文学…

数据结构与算法——单链表(续)

单链表&#xff08;续&#xff09; 查找在指定位置之前插入结点在指定位置之后插入结点删除pos位置的结点删除pos位置之后的结点销毁 查找 遍历&#xff1a;pcur指向头结点&#xff0c;循环&#xff0c;当pucr不为空进入循环&#xff0c;pucr里面指向的数据为要查找的值的时候…

全面且深度学习c++类和对象(上)

文章目录 过程和对象类的引入&#xff0c;类的定义类的访问限定符及封装类的访问限定符封装 类的实例化类大小内存对齐规则&#xff1a; this指针this特性 过程和对象 C语言面向过程设计&#xff0c;c面向对象设计&#xff0c; 举例&#xff1a;洗衣服 C语言&#xff1a;放衣服…