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

vue中加载Cesium地图(天地图、高德地图)

目录

1、将下载的Cesium包移动至public下

2、首先需要将Cesium.js和widgets.css文件引入到

3、 新建Cesium.js文件,方便在全局使用

4、新建cesium.vue文件,展示三维地图


1、将下载的Cesium包移动至public下 

npm install cesium后​​​​​​​

2、首先需要将Cesium.js和widgets.css文件引入到

/* widgets.css */

<link rel="stylesheet" href="./Cesium/Widgets/widgets.css">

/* Cesium.js */

<script type="text/javascript" src="./Cesium/Cesium.js"></script>

3、 新建Cesium.js文件,方便在全局使用

首先获取到Cesium的token;没有的话先创建

获取Cesium的tokenhttps://ion.cesium.com/

加载天地图需要获取天地图Key天地图 登录https://console.tianditu.gov.cn/api/key

cesium.js文件

Cesium.Ion.defaultAccessToken = "自己的token"
// Cesium.Camera.DEFAULT_VIEW_FACTOR = 0 //摄像机视口远近参数,可设置地球大小,大于零会使它远离范围,而小于零会使它接近范围
Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(90,-20,110,90
); //设置默认显示中国正上方// 加载天地图需要天地图的Key
const TDTTK = "自己天地图的Key";let viewer;export function initCesiumMap(target) {// const Cartesian = Cesium.Cartesian3.fromDegrees(0, 0, 500.0)viewer = new Cesium.Viewer(target, {animation: false, // 是否显示动画控件shouldAnimate: false, // 是否初始时刻运动homeButton: false, // 是否显示Home按钮fullscreenButton: false, // 是否显示全屏按钮baseLayerPicker: false, // 是否显示图层选择控件 去掉自带的图层选择器geocoder: false, // 是否显示地名查找控件,设置为true,则无法查询timeline: false, // 是否显示时间线控件sceneModePicker: false, // 是否显示投影方式控件 三维/二维navigationHelpButton: false, // 是否显示帮助信息控件infoBox: false, // 是否显示点击要素之后显示的信息 信息框小部件baseLayerPicker: false, // 不显示底图选择器,如果你只想用默认底图的话requestRenderMode: false, // true启用请求渲染模式:更新实体需拖动地图 视图才更新[true 加载完entity后requestRender一下]scene3DOnly: false, // 每个几何实例将只能以3D渲染以节省GPU内存 如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源sceneMode: 3, // 初始场景模式 1 2D模式 2 2D循环模式 3 3D模式  Cesium.SceneModescene3DOnly: true, // 仅显示3D场景fullscreenElement: document.body, // 全屏时渲染的HTML元素selectionIndicator: false, // 是否显示选取指示器组件});viewer._cesiumWidget._creditContainer.style.display = "none"; // 隐藏版权信息const imageLayers = viewer.scene.imageryLayers;imageLayers.remove(imageLayers.get(0)); //移除默认影像图层// 设置中心点为特定的经纬度(例如:经度116.38,纬度39.9)// viewer.camera.setView({//     destination: Cesium.Rectangle.fromDegrees(90, -20, 110, 90)// });/** 天地图*/// // 天地图影像// const tdtLayer = new Cesium.WebMapTileServiceImageryProvider({//   url: `http://t0.tianditu.com/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={TileMatrix}&TILEROW={TileRow}&TILECOL={TileCol}&tk=${TDTTK}`,//   layer: "tdt",//   style: "default",//   format: "image/jpeg",//   tileMatrixSetID: "w",//   maximumLevel: 18,//   show: false,// });// viewer.imageryLayers.addImageryProvider(tdtLayer);// // 天地图注记// const tdtAnnotionLayer = new Cesium.WebMapTileServiceImageryProvider({//   url: `http://t0.tianditu.com/cia_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={TileMatrix}&TILEROW={TileRow}&TILECOL={TileCol}&tk=${TDTTK}`,//   layer: "tdtAnno",//   style: "default",//   format: "image/jpeg",//   tileMatrixSetID: "w",//   maximumLevel: 18,//   show: false,// });// viewer.imageryLayers.addImageryProvider(tdtAnnotionLayer);/** 高德地图*///高德矢量图// let tdtLayer1 = new Cesium.UrlTemplateImageryProvider({// 	url: "http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}",// 	minimumLevel: 3,// 	maximumLevel: 18// })// viewer.imageryLayers.addImageryProvider(tdtLayer1)//高德影像let tdtLayer2 = new Cesium.UrlTemplateImageryProvider({url: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",minimumLevel: 3,maximumLevel: 18,});viewer.imageryLayers.addImageryProvider(tdtLayer2);//高德路网中文注记let tdtLayer = new Cesium.UrlTemplateImageryProvider({url: "http://webst02.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scale=1&style=8",minimumLevel: 3,maximumLevel: 18,});viewer.imageryLayers.addImageryProvider(tdtLayer);
}export function getViewerMap() {return viewer;
}

4、新建cesium.vue文件,展示三维地图

<template><div id="cesiumContainer" class="cesiumContainer"></div>
</template><script>
// 刚才新建的Cesium.js文件
import * as viewerMap from "../components/cesium";
export default {data() {return {viewer: null,};},mounted() {this.$nextTick(() => {this.initCesium("cesiumContainer");});},methods: {initCesium() {viewerMap.initCesiumMap("cesiumContainer");// ==================== 使用 Entity API 添加点线面 ====================// 添加点// viewerMap.addEntityPoint()// 添加线// viewerMap.addEntityLine()// 添加半透明多边形// viewerMap.addEntityPolygonDiaphaneity()// 添加红色多边形(带洞)// viewerMap.addEntityPolygon()// ==================== 使用 Primitive API 添加点线面 ====================// 添加点// viewerMap.addPrimitivePoint()// 添加线// viewerMap.addPrimitiveLine()// 添加面// viewerMap.addPrimitivePolygon()//   添加图片标记点// viewerMap.addImgPoint()//   添加glb模型//   viewerMap.addGLB()// 添加使用glb模型进行实时轨迹// viewerMap.addGlbTrajectory()// 添加使用图片进行实时轨迹//   viewerMap.addImgTrajectory();this.viewer = viewerMap.getViewerMap();},clear(){viewerMap.clearIntervalEvent();}},beforeUnmount() {this.clear()},
};
</script><style lang="scss">
.cesiumContainer {width: 100%;height: 100%;background-color: black;
}
</style>

这样就可以完整展示出三维地球 

相关文章:

vue中加载Cesium地图(天地图、高德地图)

目录 1、将下载的Cesium包移动至public下 2、首先需要将Cesium.js和widgets.css文件引入到 3、 新建Cesium.js文件&#xff0c;方便在全局使用 4、新建cesium.vue文件&#xff0c;展示三维地图 1、将下载的Cesium包移动至public下 npm install cesium后​​​​​​​ 2、…...

SpringBoot整合RocketMQ与客户端注意事项

SpringBoot整合RocketMQ 引入依赖&#xff08;5.3.0比较稳定&#xff09; <dependencies><dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.3.1</version&…...

Github 2025-06-04 C开源项目日报 Top7

根据Github Trendings的统计,今日(2025-06-04统计)共有7个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目7C++项目1Assembly项目1jq:轻量灵活的命令行JSON处理器 创建周期:4207 天开发语言:C协议类型:OtherStar数量:27698 个Fork数量:1538 …...

大二下期末

一.Numpy&#xff08;Numerical Python&#xff09; Numpy库是Python用于科学计算的基础包&#xff0c;也是大量Python数学和科学计算包的基础。不少数据处理和分析包都是在Numpy的基础上开发的&#xff0c;如后面介绍的Pandas包。 Numpy的核心基础是ndarray&#xff08;N-di…...

LeetCode 热题 100 74. 搜索二维矩阵

LeetCode 热题 100 | 74. 搜索二维矩阵 大家好&#xff0c;今天我们来解决一道经典的算法题——搜索二维矩阵。这道题在 LeetCode 上被标记为中等难度&#xff0c;要求我们在一个满足特定条件的二维矩阵中查找一个目标值。如果目标值在矩阵中&#xff0c;返回 true&#xff1b…...

解决 VSCode 中无法识别 Node.js 的问题

当 VSCode 无法识别 Node.js 时&#xff0c;通常会出现以下症状&#xff1a; 代码提示缺失require 等 Node.js API 被标记为错误调试功能无法正常工作终端无法运行 Node.js 命令 常见原因及解决方案 1. Node.js 未安装或未正确配置 ​​解决方法​​&#xff1a; 确保已安…...

Mysql的卸载与安装

确保卸载干净mysql 不然在进行mysal安装时候会出现不一的页面和问题 1、卸载 在应用页面将查询到的mysql相关应用卸载 2、到c盘下将残留的软件包进行数据删除 3、删除programData下的mysql数据 4、检查系统中的mysql是否存在 cmd中执行 sc deleted mysql80 5、删除注册表中的…...

ES101系列09 | 运维、监控与性能优化

本篇文章主要讲解 ElasticSearch 中 DevOps 与性能优化的内容&#xff0c;包括集群部署最佳实践、容量规划、读写性能优化和缓存、熔断器等。 集群部署最佳实践 在生产环境中建议设置单一角色的节点。 Dedicated master eligible nodes&#xff1a;负责集群状态的管理。使用…...

Java常用的判空方法

文章目录 Java常用的判空方法JDK 自带的判空方法1. 使用 或 ! 运算符2. 使用 equals 方法3. Objects.isNull / Objects.nonNull4. Objects.equals4. JDK8 中的 Optional 第三方工具包1. Apache Commons Lang32. Google Guava3. Lombok 注解4. Vavr&#xff08;函数式风格&…...

Excel处理控件Aspose.Cells教程:使用 C# 在 Excel 中创建组合图表

可视化项目时间线对于有效规划和跟踪至关重要。在本篇教程中&#xff0c;您将学习如何使用 C# 在 Excel 中创建组合图。只需几行代码&#xff0c;即可自动生成动态、美观的组合图。无论您是在构建项目管理工具还是处理内部报告&#xff0c;本指南都将向您展示如何将任务数据转换…...

【多线程初阶】阻塞队列 生产者消费者模型

文章目录 一、阻塞队列二、生产者消费者模型(一)概念(二)生产者消费者的两个重要优势(阻塞队列的运用)1) 解耦合(不一定是两个线程之间,也可以是两个服务器之间)2) 削峰填谷 (三)生产者消费者模型付出的代价 三、标准库中的阻塞队列(一)观察模型的运行效果(二)观察阻塞效果1) 队…...

《100天精通Python——基础篇 2025 第5天:巩固核心知识,选择题实战演练基础语法》

目录 一、踏上Python之旅二、Python输入与输出三、变量与基本数据类型四、运算符五、流程控制 一、踏上Python之旅 1.想要输出 I Love Python,应该使用()函数。 A.printf() B.print() C.println() D.Print() 在Python中想要在屏幕中输出内容&#xff0c;应该使用print()函数…...

机器人夹爪的选型与ROS通讯——机器人抓取系统基础系列(六)

文章目录 前言一、夹爪的选型1.1 任务需求分析1.2 软体夹爪的选型 二、夹爪的ROS通讯2.1 夹爪的通信方式介绍2.2 串口助手测试2.3 ROS通讯节点实现 总结Reference: 前言 本文将介绍夹爪的选型方法和通讯方式。以鞋子这类操作对象为例&#xff0c;将详细阐述了对应的夹爪选型过…...

第二十八章 RTC——实时时钟

第二十八章 RTC——实时时钟​​​​​​​ 目录 第二十八章 RTC——实时时钟 1 RTC实时时钟简介 2 RTC外设框图剖析 3 UNIX时间戳 4 与RTC控制相关的库函数 4.1 等待时钟同步和操作完成 4.2 使能备份域涉及RTC配置 4.3 设置RTC时钟分频 4.4 设置、获取RTC计数器及闹钟 5 实时时…...

使用 DuckLake 和 DuckDB 构建 S3 数据湖实战指南

本文介绍了由 DuckDB 和 DuckLake 组成的轻量级数据湖方案&#xff0c;旨在解决传统数据湖&#xff08;如HadoopHive&#xff09;元数据管理复杂、查询性能低及厂商锁定等问题。该方案为中小规模数据湖场景提供了简单、高性能且无厂商锁定的替代选择。 1. 什么是 DuckLake 和 D…...

大语言模型提示词(LLM Prompt)工程系统性学习指南:从理论基础到实战应用的完整体系

文章目录 前言&#xff1a;为什么提示词工程成为AI时代的核心技能一、提示词的本质探源&#xff1a;认知科学与逻辑学的理论基础1.1 认知科学视角下的提示词本质信息处理理论的深层机制图式理论的实际应用认知负荷理论的优化策略 1.2 逻辑学框架下的提示词架构形式逻辑的三段论…...

如何基于Mihomo Party http端口配置git与bash命令行代理

如何基于Mihomo Party http端口配置git与bash命令行代理 1. 确定Mihomo Party http端口配置 点击内核设置后即可查看 默认7892端口&#xff0c;开启允许局域网连接 2. 配置git代理 配置本机代理可以使用 127.0.0.1 配置局域网内其它机代理需要使用本机的非回环地址 IP&am…...

CMake 为 Debug 版本的库或可执行文件添加 d 后缀

在使用 CMake 构建项目时,我们经常需要区分 Debug 和 Release 构建版本。一个常见的做法是为 Debug 版本的库或可执行文件添加后缀(如 d),例如 libmylibd.so 或 myappd.exe。 本文将介绍几种在 CMake 中实现为 Debug 版本自动添加 d 后缀的方法。 方法一:使用 CMAKE_DEBU…...

Linux 特殊权限位详解:SetUID, SetGID, Sticky Bit

Linux 特殊权限位详解:SetUID, SetGID, Sticky Bit 在Linux权限系统中,除了基本的读、写(w)、执行(x)权限外,还有三个特殊权限位:SetUID、SetGID和Sticky Bit。这些权限位提供了更精细的权限控制机制,尤其在需要临时提升权限或管理共享资源时非常有用。 一、SetUID (s位…...

埃文科技智能数据引擎产品入选《中国网络安全细分领域产品名录》

嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》&#xff0c;埃文科技智能数据引擎产品成功入选数据分级分类产品名录。 在数字化转型加速的今天&#xff0c;网络安全已成为企业生存与发展的核心基石&#xff0c;为了解这一蓬勃发展的产业格局&#xff0c;嘶吼安全产业…...

使用VTK还是OpenGL集成到qt程序里哪个好?

在Qt程序中集成VTK与OpenGL&#xff1a;选择哪个更好&#xff1f; 在Qt程序中实现三维可视化时&#xff0c;开发者常常面临一个选择&#xff1a;是使用VTK&#xff08;Visualization Toolkit&#xff09;还是OpenGL&#xff08;Open Graphics Library&#xff09;。这两种技术…...

Java-IO流之打印流详解

Java-IO流之打印流详解 一、打印流概述1.1 什么是打印流1.2 打印流的特点1.3 打印流的应用场景 二、PrintStream详解2.1 基本概念2.2 构造函数2.3 核心方法2.4 使用示例 三、PrintWriter详解3.1 基本概念3.2 构造函数3.3 核心方法3.4 使用示例 四、PrintStream与PrintWriter的比…...

高效图像处理:使用 Pillow 进行格式转换与优化

高效图像处理:使用 Pillow 进行格式转换与优化 1. 背景引入 在图像处理应用中,格式转换、裁剪、压缩等操作是常见需求。Python 的 Pillow 库基于 PIL(Python Imaging Library),提供 轻量、强大 的图像处理能力,广泛用于 Web 开发、数据分析、机器学习 等领域。 本文将…...

Github 2025-06-06 Java开源项目日报Top10

根据Github Trendings的统计,今日(2025-06-06统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目10TypeScript项目1Java实现的算法集合:使用Gitpod.io进行编辑和贡献 创建周期:2883 天开发语言:Java协议类型:MIT LicenseStar数量…...

使用 Ansible 在 Windows 服务器上安装 SSL 证书

在本教程中&#xff0c;我将向您展示如何使用 Ansible 在 Windows 服务器上安装 SSL 证书。使用 Ansible 自动化 SSL 证书安装过程可以提高 IT 运营的效率、一致性和协作性。我将介绍以下步骤&#xff1a; 将 SSL 证书文件复制到服务器将 PFX 证书导入指定的存储区获取导入的证…...

厂区能源监控系统:网关赋能下的高效能源管理与环保监测

在现代工业生产领域&#xff0c;能源的有效利用与环境保护是企业实现可持续发展的两大关键要素。厂区能源监控系统借助先进的信息技术与自动化控制手段&#xff0c;对厂区内能源消耗及污水处理等核心环节展开实时监控与精细化管理。其中&#xff0c;御控网关作为系统关键枢纽&a…...

CentOS 7 如何安装llvm-project-10.0.0?

CentOS 7 如何安装llvm-project-10.0.0&#xff1f; 需要先升级gcc至7.5版本&#xff0c;详见CentOS 7如何编译安装升级gcc版本?一文 # 备份之前的yum .repo文件至 /tmp/repo_bak 目录 mkdir -p /tmp/repo_bak && cd /etc/yum.repo.d && /bin/mv ./*.repo …...

Cursor 1.0 的核心功能亮点及技术价值分析

Cursor 1.0 的核心功能亮点及技术价值分析 结合官方更新和开发者实测整理&#xff1a; &#x1f6e0;️ 一、BugBot&#xff1a;智能自动化代码审查 功能亮点&#xff1a;深度集成 GitHub&#xff0c;自动扫描 Pull Request&#xff08;PR&#xff09;中的潜在 Bug&#xff08;…...

软考 系统架构设计师系列知识点之杂项集萃(83)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;82&#xff09; 第150题 体系结构权衡分析方法&#xff08;Architecture Tradeoff Analysis Method&#xff0c;ATAM&#xff09;是一种常见的系统架构评估框架&#xff0c;该框架主要关注系统的…...

NLP学习路线图(二十六):自注意力机制

一、为何需要你&#xff1f;序列建模的困境 在你出现之前&#xff0c;循环神经网络&#xff08;RNN&#xff09;及其变种LSTM、GRU是处理序列数据&#xff08;如文本、语音、时间序列&#xff09;的主流工具。它们按顺序逐个处理输入元素&#xff0c;将历史信息压缩在一个隐藏…...