關于Mars3d的入門

關于Mars3d的入門

  • 一. 創建地球,加載瓦片圖層
  • 二 矢量圖層
    • 2.1 常用矢量圖層
      • 2.1.1 GraphicLayer
      • 2.1.2 GeoJsonLayer
    • 2.2 矢量圖層的點擊事件
  • 三 矢量數據
  • 四 事件機制

一. 創建地球,加載瓦片圖層

      // 1. 創建地球let map = new mars3d.Map("mars3dContainer", mapOptions);// 2. 加載瓦片layers: [{name: "test",type: "image",url: "//data.mars3d.cn/test.png",rectangle: { xmin: 127.259691, xmax: 137.267778, ymin: 34.834432, ymax: 36.84387 },show: true}]

加載瓦片的方式有兩種:

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

二 矢量圖層

矢量圖層與矢量數據的用法

  1. 定義矢量數據
  2. 把矢量數據放到矢量圖層
  3. 把矢量圖層放到地圖上

在這里插入圖片描述

2.1 常用矢量圖層

2.1.1 GraphicLayer

//創建矢量數據圖層
let graphicLayer = new mars3d.layer.GraphicLayer()
map.addLayer(graphicLayer)//加載數據到矢量圖層
let graphic = new mars3d.graphic.LabelEntity({position: new mars3d.LngLatPoint(116.1, 31.0, 1000),style: {text: 'Mars3D三維可視化平臺',font_size: 25,color: '#003da6',},
})
graphicLayer.addGraphic(graphic)

2.1.2 GeoJsonLayer

通過json的格式創建圖層,高效方便

let geoJsonLayer = new mars3d.layer.GeoJsonLayer({name: '省界線',url: 'http://data.mars3d.cn/file/geojson/sheng-line.json',symbol: {//可以通過配置symbol參數來指定渲染的矢量數據類型和樣式。type:"polyline",styleOptions: {color: '#ffffff',opacity: 0.8,width: 2},},
})
map.addLayer(geoJsonLayer)

2.2 矢量圖層的點擊事件

 graphicEllipseLayer.on(mars3d.EventType.click, function (event) {console.log("監聽layer,單擊了矢量對象", event)})// 綁定layer標繪相關事件監聽(可以自行加相關代碼實現業務需求,此處主要做示例)graphicEllipseLayer.on(mars3d.EventType.drawStart, function (e) {console.log("開始繪制", e)})graphicEllipseLayer.on(mars3d.EventType.drawAddPoint, function (e) {console.log("繪制過程中增加了點", e)})graphicEllipseLayer.on(mars3d.EventType.drawRemovePoint, function (e) {console.log("繪制過程中刪除了點", e)})graphicEllipseLayer.on(mars3d.EventType.drawCreated, function (e) {console.log("創建完成", e)// graphicLayer.stopDraw()// graphicLayer.startDraw(mars3d.Util.clone(e.graphic.options)) // 連續標繪時,可以代替isContinued})graphicEllipseLayer.on(mars3d.EventType.editStart, function (e) {console.log("開始編輯", e)})graphicEllipseLayer.on(mars3d.EventType.editMovePoint,  (e)=> {console.log("編輯修改了點", e.graphic.editing._graphic.options.style.radius)this.$emit("mixinsRadiusChangeMth",e.graphic.editing._graphic.options.style.radius)this.mapScan(e.graphic);})graphicEllipseLayer.on(mars3d.EventType.editAddPoint, function (e) {console.log("編輯新增了點", e)})graphicEllipseLayer.on(mars3d.EventType.editRemovePoint, function (e) {console.log("編輯刪除了點", e)})graphicEllipseLayer.on(mars3d.EventType.editStop, function (e) {console.log("停止編輯", e)})graphicEllipseLayer.on(mars3d.EventType.removeGraphic, function (e) {console.log("刪除了對象", e)})

三 矢量數據

在這里插入圖片描述

在這里插入圖片描述

剩余的矢量對象

ParticleSystem粒子對象 —》 粒子效果

漫游路線對象 —》 展示對象按照一定軌跡移動

視頻融合對象 —》投射視頻物體表面

四 事件機制

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

常用的方法

// 獲取圖層 在清除圖層
const layer = map.getLayerById(2021)// 移除圖層
map.removeLayer(layer )// 隱藏圖層
layer.show = false// 顯示圖層
layer.show = true//通過id獲取圖層
const layer = map.getLayerById(2021) 
const layer = map.getLayer("id",2021) //獲取所有的圖層
const layers =map.getLayers({basemaps:false // 不包含basemps中配置的所有圖層layers:false // 不包含layers中配置的所有圖層})//判斷圖層是否添加過
const isHaveLayer = map.hasLayer(2021) // 返回boolean

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

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

相關文章

基于openStreetMap的路徑規劃ROS功能包

文章目錄 概要OSM是什么主要特點主要組成部分使用場景如何獲取OSM常規參數配置笛卡爾坐標系原點經緯度設置編譯和運行如何規劃演示效果概要 由于https://github.com/MichalDobis/osm_planner存在一些使用問題,不是那么方便,我對其進行了一些修改,便于進行起點到終點進行路徑…

數據如何查詢

分組查詢 分組查詢(Group By)是在關系型數據庫中用來對數據進行分組并對每個組應用聚合函數的一種操作。這種查詢通常結合聚合函數(如 COUNT、SUM、AVG、MAX、MIN 等)使用,用于在查詢結果中生成匯總信息 特點(聚合)&am…

從零開始做題:My_lllp

題目 給出一張png圖片 解題 ┌──(holyeyes?kali2023)-[~/Misc/題目/zulu/My_lllp] └─$ python2 lsb.py extract my_lllp.png out.txt my_lllp [] Image size: 1080x1079 pixels. [] Written extracted data to out.txt. ┌──(holyeyes?kali2023)-[~/Misc/題目/zul…

python的線程池和進程池

Python 3.2 就已經引入了 concurrent.futures 模塊,提供了線程池(ThreadPoolExecutor)和進程池(ProcessPoolExecutor),用于簡化并發編程的管理和調度。 ThreadPoolExecutor 在ThreadPoolExecutor 是 conc…

簡易Qt串口助手

界面顯示如下 關于串口類 初始化 設置串口號 設置波特率 打開串口 發送按鈕功能實現 接收數據顯示在控件中 關閉串口

使用 MFA 保護對企業應用程序的訪問

多因素身份驗證(MFA)是在授予用戶訪問特定資源的權限之前,使用多重身份驗證來驗證用戶身份的過程,僅使用單一因素(傳統上是用戶名和密碼)來保護資源,使它們容易受到破壞,添加其他身份…

springboot非物質文化遺產管理系統-計算機畢業設計源碼16087

目錄 摘要 1 緒論 1.1 選題背景與意義 1.2國內外研究現狀 1.3論文結構與章節安排 2系統分析 2.1 可行性分析 2.2 系統流程分析 2.2.1系統開發流程 2.2.2 用戶登錄流程 2.2.3 系統操作流程 2.2.4 添加信息流程 2.2.5 修改信息流程 2.2.6 刪除信息流程 2.3 系統功能…

前端開發過程中經常遇到的問題以及對應解決方法 (持續更新)

我的朋友已經工作了 3 年,他過去一直擔任前端工程師。 不幸的是,他被老板批評了,因為他在工作中犯了一個錯誤,這是一個非常簡單但容易忽視的問題,我想也是很多朋友容易忽視的一個問題。 今天我把它分享出來&#xff…

Linux三劍客(grep、awk和sed)操作及與管道結合使用

1. 總覽 grep、sed和awk被稱為Linux三劍客,是因為它們在文本處理和數據操作方面極其強大且常用。 Linux三劍客在文件處理中的作用: grep(數據查找定位):文本搜索工具,在文件中搜索符合正則表達式的文本內容…

Redis原理-數據結構

Redis原理篇 1、原理篇-Redis數據結構 1.1 Redis數據結構-動態字符串 我們都知道Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可見字符串是Redis中最常用的一種數據結構。 不過Redis沒有直接使用C語言中的字符串,因為C語言字符串存…

【大模型LLM面試合集】大語言模型架構_attention

1.attention 1.Attention 1.1 講講對Attention的理解? Attention機制是一種在處理時序相關問題的時候常用的技術,主要用于處理序列數據。 核心思想是在處理序列數據時,網絡應該更關注輸入中的重要部分,而忽略不重要的部分&…

BJT的結構(晶體管電壓/電流+β+晶體管特性曲線/截止與飽和+直流負載線(Q點))+單片機數碼管基礎

2024-7-8,星期一,20:23,天氣:晴,心情:晴。今天沒有什么特殊的事情發生,周末休息了兩天,周一回來繼續學習啦,加油加油!!! 今日完成模電…

視頻號矩陣管理系統:短視頻內容營銷的智能助手

隨著短視頻行業的蓬勃發展,視頻號矩陣管理系統應運而生,為內容創作者和品牌提供了一站式的短視頻管理和營銷解決方案。本文將深入探討視頻號矩陣管理系統的核心功能,以及它如何助力用戶在短視頻營銷領域取得成功。 視頻號矩陣管理系統概述 …

在PyTorch中使用TensorBoard

文章目錄 在PyTorch中使用TensorBoard1.安裝2.TensorBoard使用2.1創建SummaryWriter實例2.2利用add_scalar()記錄metrics2.3關閉Writer2.4啟動TensorBoard 3.本地連接服務器使用TensorBoard3.1方法一:使用SSH命令進行本地端口轉發3.2方法二:啟動TensorBo…

Python 全棧體系【三階】(二)

第一章 Django 五、模板 1. 概述 Django中的模板是指可以動態生成任何基于文本格式文件的技術(如HTML、CSS等)。 Django中內置了自己的模板系統,稱為DTL(Django Template Language), Django模板語言。 2. 配置 settings.py中關于模板的…

如何將資源前端通過 Docker 部署到遠程服務器

作為一個程序員,在開發過程中,經常會遇到項目部署的問題,在現在本就不穩定的大環境下,前端開發也需要掌握部署技能,來提高自己的生存力,今天就詳細說一下如何把一個前端資源放到遠程服務器上面通過docker部…

紫外線芯片殺菌燈問題

1.265nm深紫外光子能量是多少 504kj/mol 2.紫外光分解有害物質的原理是什么? 通過紫外光分子鍵打斷有害物質的分子鍵,使其分解成co2和H2o等無害物質 3.紫外光殺菌的原理是什么? 通過特定波長的紫外光照射,破壞和改變微生物的…

【網絡協議】PIM

PIM 1 基本概念 PIM(Protocol Independent Multicast)協議,即協議無關組播協議,是一種組播路由協議,其特點是不依賴于某一特定的單播路由協議,而是可以利用任意單播路由協議建立的單播路由表完成RPF&…

【Python】不小心卸載pip后(手動安裝pip的兩種方式)

文章目錄 方法一:使用get-pip.py腳本方法二:使用easy_install注意事項 不小心卸載pip后:手動安裝pip的兩種方式 在使用Python進行開發時,pip作為Python的包管理工具,是我們安裝和管理Python庫的重要工具。然而&#x…

產品經理技能揭秘:如何巧妙啟發需求,引領市場新潮流

文章目錄 引言一、需求啟發的定義二、需求啟發的藝術三、需求啟發的重要性四、需求啟發的流程五、需求啟發的問題與挑戰內部自身的問題與挑戰:挑戰一:知識的詛咒挑戰二:做與定義的不同挑戰三:溝通障礙挑戰四:需求變更頻…