关于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.mzph.cn/web/42115.shtml

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

相关文章

从零开始做题: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…

简易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…

如何将资源前端通过 Docker 部署到远程服务器

作为一个程序员,在开发过程中,经常会遇到项目部署的问题,在现在本就不稳定的大环境下,前端开发也需要掌握部署技能,来提高自己的生存力,今天就详细说一下如何把一个前端资源放到远程服务器上面通过docker部…

【Python】不小心卸载pip后(手动安装pip的两种方式)

文章目录 方法一:使用get-pip.py脚本方法二:使用easy_install注意事项 不小心卸载pip后:手动安装pip的两种方式 在使用Python进行开发时,pip作为Python的包管理工具,是我们安装和管理Python库的重要工具。然而&#x…

产品经理技能揭秘:如何巧妙启发需求,引领市场新潮流

文章目录 引言一、需求启发的定义二、需求启发的艺术三、需求启发的重要性四、需求启发的流程五、需求启发的问题与挑战内部自身的问题与挑战:挑战一:知识的诅咒挑战二:做与定义的不同挑战三:沟通障碍挑战四:需求变更频…

solidity:构造函数和修饰器、事件

构造函数​ 构造函数(constructor)是一种特殊的函数,每个合约可以定义一个,并在部署合约的时候自动运行一次。它可以用来初始化合约的一些参数,例如初始化合约的owner地址: address owner; // 定义owner变…

电脑找回彻底删除文件?四个实测效果的方法【一键找回】

电脑数据删除了还能恢复吗?可以的,只要我们及时撤销上一步删除操作,还是有几率找回彻底删除文件。 当我们的电脑文件被彻底删除后,尽管恢复的成功率可能受到多种因素的影响,但仍有几种方法可以尝试找回这些文件。本文整…

使用 docker buildx 构建跨平台镜像

buildx是Docker官方提供的一个构建工具,它可以帮助用户快速、高效地构建Docker镜像,并支持多种平台的构建。使用buildx,用户可以在单个命令中构建多种架构的镜像,例如x86和arm架构,而无需手工操作多个构建命令。此外bu…

【React Hooks原理 - useCallback、useMemo】

介绍 在实际项目中,useCallback、useMemo这两个Hooks想必会很常见,可能我们会处于性能考虑避免组件重复刷新而使用类似useCallback、useMemo来进行缓存。接下来我们会从源码和使用的角度来聊聊这两个hooks。【源码地址】 为什么要有这两个Hooks 在开始…

使用selenium定位input标签下的下拉框

先来看一下页面效果&#xff1a;是一个可输入的下拉列表 再来看一下下拉框的实现方式&#xff1a; 是用<ul>和<li>方式来实现的下拉框&#xff0c;不是select类型的&#xff0c;所以不能用传统的select定位方法。 在着手定位元素前一定一定要先弄清楚下拉列表…

前后端的学习框架

前后端的学习框架 视频链接&#xff1a;零基础AI全栈开发系列教程&#xff08;一&#xff09;_哔哩哔哩_bilibili