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>

這樣就可以完整展示出三維地球?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/82718.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82718.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82718.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Elasticsearch的插件(Plugin)系統介紹

Elasticsearch的插件(Plugin)系統是一種擴展機制,允許用戶通過添加自定義功能來增強默認功能,而無需修改核心代碼。插件可以提供從分析器、存儲后端到安全認證、機器學習等各種功能,使Elasticsearch能夠靈活適應不同的應用場景和業務需求。 一、插件的核心特點 模塊化擴展…

基于 openEuler 22.03 LTS SP1 構建 DPDK 22.11.8 開發環境指南

基于 openEuler 22.03 LTS SP1 構建 DPDK 22.11.8 開發環境指南 本文詳細介紹了在 openEuler 22.03 LTS SP1 操作系統上構建 DPDK 22.11.8 開發環境的完整流程。DPDK 20 版本之后采用 mesonninja 的編譯方式&#xff0c;與早期版本有所不同。本文內容也可作為其他 Linux 發行版…

微服務網關SpringCloudGateway+SaToken鑒權

目錄 概念 前置知識回顧 拿到UserInfo 用于自定義權限和角色的獲取邏輯 最后進行要進行 satoken 過濾器全局配置 概念 做權限認證的時候 我們首先要明確兩點 我們需要的角色有幾種 我們需要的權限有幾種 角色 分兩種 ADMIN 管理員 &#xff1a;可管理商品 CUSTIOMER 普通…

Spring Cloud Gateway 中自定義驗證碼接口返回 404 的排查與解決

Spring Cloud Gateway 中自定義驗證碼接口返回 404 的排查與解決 問題背景 在一個基于 Spring Cloud Gateway WebFlux 構建的微服務項目中&#xff0c;新增了一個本地驗證碼接口 /code&#xff0c;使用函數式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…

Dify中聊天助手、agent、文本生成、chatflow、工作流模式解讀分析與對比

一次解讀 1. 聊天助手 (Chat Assistant) 情景定位 (Situation): 你需要創建一個可以與用戶進行多輪對話的AI應用&#xff0c;例如客服機器人、信息查詢助手、或一個特定領域的虛擬專家。目標明確 (Purpose): 核心目標是理解并響應用戶的連續提問&#xff0c;維持對話的上下文…

使用Node.js分片上傳大文件到阿里云OSS

阿里云OSS的分片上傳&#xff08;Multipart Upload&#xff09;是一種針對大文件優化的上傳方式&#xff0c;其核心流程和關鍵特性如下&#xff1a; 1. ?核心流程? 分片上傳分為三個步驟&#xff1a; 初始化任務?&#xff1a;調用InitiateMultipartUpload接口創建上傳任務…

C++ if語句完全指南:從基礎到工程實踐

一、選擇結構在程序設計中的核心地位 程序流程控制如同城市交通網絡&#xff0c;if語句則是這個網絡中的決策樞紐。根據ISO C標準&#xff0c;選擇結構占典型項目代碼量的32%-47%&#xff0c;其正確使用直接影響程序的&#xff1a; 邏輯正確性 執行效率 可維護性 安全邊界 …

【大模型LLM學習】Flash-Attention的學習記錄

【大模型LLM學習】Flash-Attention的學習記錄 0. 前言1. flash-attention原理簡述2. 從softmax到online softmax2.1 safe-softmax2.2 3-pass safe softmax2.3 Online softmax2.4 Flash-attention2.5 Flash-attention tiling 0. 前言 Flash Attention可以節約模型訓練和推理時間…

python打卡day46@浙大疏錦行

知識點回顧&#xff1a; 不同CNN層的特征圖&#xff1a;不同通道的特征圖什么是注意力&#xff1a;注意力家族&#xff0c;類似于動物園&#xff0c;都是不同的模塊&#xff0c;好不好試了才知道。通道注意力&#xff1a;模型的定義和插入的位置通道注意力后的特征圖和熱力圖 內…

JavaSec-SPEL - 表達式注入

簡介 SPEL(Spring Expression Language)&#xff1a;SPEL是Spring表達式語言&#xff0c;允許在運行時動態查詢和操作對象屬性、調用方法等&#xff0c;類似于Struts2中的OGNL表達式。當參數未經過濾時&#xff0c;攻擊者可以注入惡意的SPEL表達式&#xff0c;從而執行任意代碼…

SpringCloud——OpenFeign

概述&#xff1a; OpenFeign是基于Spring的聲明式調用的HTTP客戶端&#xff0c;大大簡化了編寫Web服務客戶端的過程&#xff0c;用于快速構建http請求調用其他服務模塊。同時也是spring cloud默認選擇的服務通信工具。 使用方法&#xff1a; RestTemplate手動構建: // 帶查詢…

【深入學習Linux】System V共享內存

目錄 前言 一、共享內存是什么&#xff1f; 共享內存實現原理 共享內存細節理解 二、接口認識 1.shmget函數——申請共享內存 2.ftok函數——生成key值 再次理解ftok和shmget 1&#xff09;key與shmid的區別與聯系 2&#xff09;再理解key 3&#xff09;通過指令查看/釋放系統中…

探索 Java 垃圾收集:對象存活判定、回收流程與內存策略

個人主頁-愛因斯晨 文章專欄-JAVA學習筆記 熱門文章-賽博算命 一、引言 在 Java 技術體系里&#xff0c;垃圾收集器&#xff08;Garbage Collection&#xff0c;GC&#xff09;與內存分配策略是自動內存管理的核心支撐。深入探究其原理與機制&#xff0c;對優化程序內存性能…

hbase資源和數據權限控制

hbase適合大數據量下點查 https://zhuanlan.zhihu.com/p/471133280 HBase支持對User、NameSpace和Table進行請求數和流量配額限制&#xff0c;限制頻率可以按sec、min、hour、day 對于請求大小限制示例&#xff08;5K/sec,10M/min等&#xff09;&#xff0c;請求大小限制單位如…

大數據-275 Spark MLib - 基礎介紹 機器學習算法 集成學習 隨機森林 Bagging Boosting

點一下關注吧&#xff01;&#xff01;&#xff01;非常感謝&#xff01;&#xff01;持續更新&#xff01;&#xff01;&#xff01; 大模型篇章已經開始&#xff01; 目前已經更新到了第 22 篇&#xff1a;大語言模型 22 - MCP 自動操作 FigmaCursor 自動設計原型 Java篇開…

Delphi 實現遠程連接 Access 數據庫的指南

方法一&#xff1a;通過局域網共享 Access 文件&#xff08;簡單但有限&#xff09; 步驟 1&#xff1a;共享 Access 數據庫 將 .mdb 或 .accdb 文件放在局域網內某臺電腦的共享文件夾中。 右鍵文件夾 → 屬性 → 共享 → 啟用共享并設置權限&#xff08;需允許網絡用戶讀寫&a…

VR視頻制作有哪些流程?

VR視頻制作流程知識 VR視頻制作&#xff0c;作為融合了創意與技術的復雜制作過程&#xff0c;涵蓋從初步策劃到最終呈現的多個環節。在這個過程中&#xff0c;我們可以結合眾趣科技的產品&#xff0c;解析每一環節的實現與優化&#xff0c;揭示背后的奧秘。 VR視頻制作有哪些…

文件上傳/下載接口開發

接口特性 文件傳輸接口與傳統接口的核心差異體現在數據傳輸格式&#xff1a; 上傳接口采用 multipart/form-data 格式支持二進制文件傳輸下載接口接收二進制流并實現本地文件存儲 文件上傳接口開發 接口規范 請求地址&#xff1a;/createbyfile 請求方式&#xff1a;POST…

深入學習RabbitMQ隊列的知識

目錄 1、AMQP協議 1.1、介紹 1.2、AMQP的特點 1.3、工作流程 1.4、消息模型 1.5、消息結構 1.6、AMQP 的交換器類型 2、RabbitMQ結構介紹 2.1、核心組件 2.2、最大特點 2.3、工作原理 3、消息可靠性保障 3.1、生產端可靠性 1、生產者確認機制 2、持久化消息 3.…

【計算機網絡】NAT、代理服務器、內網穿透、內網打洞、局域網中交換機

&#x1f525;個人主頁&#x1f525;&#xff1a;孤寂大仙V &#x1f308;收錄專欄&#x1f308;&#xff1a;計算機網絡 &#x1f339;往期回顧&#x1f339;&#xff1a;【計算機網絡】數據鏈路層——ARP協議 &#x1f516;流水不爭&#xff0c;爭的是滔滔不息 一、網絡地址轉…