cesium自定义指南针

cesium项目中集成指北针(原生版) 【代码】cesium项目中集成指北针(原生版) 阅读详情

一、项目介绍

项目需要一个指南针,用鼠标按住旋转指针,会让3d地图旋转,点击中心点重置方位。当然可以使用插件cesium-navigation-es6,但是样式不好修改,所以我自定义了一个指南针。

实现思路

在Cesium中,相机的方向由 heading、pitch 和 roll 三个角度参数控制,它们共同定义了相机在3D空间中的朝向。要让地图旋转,只要控制相机的角度即可。

heading(偏航角),绕(z)轴旋转,类似于指南针的方向,范围:0 到 2π 弧度(或 0° 到 360°)。

  • 0 或 2π 表示正北方向(默认Cesium的初始朝向)。
  • π/2(90°)表示正东。
  • π(180°)表示正南。
  • 3π/2(270°)表示正西。

Pitch(俯仰角),绕(y)轴旋转,控制相机的“抬头”或“低头”。 范围:-π/2 到 π/2,超过会导致视角翻转。

  • 0 表示相机水平朝前(平行于地面)。

  • π/2(90°)表示相机垂直向下(俯视地面)。

  • -π/2(-90°)表示相机垂直向上(仰视天空)。

Roll(翻滚角),绕(X)轴旋转的角度(倾斜左右)。在飞行模拟中模拟飞机倾斜,但Cesium中较少直接使用(默认通常为 0)

所以我们要先计算鼠标点击指南针时向左向右偏移的角度,将这个角度值转为相机旋转的弧度值,并重新设置给相机。

指南针实现

首先先创建一个div和css样式画出一个指南针:

 <div class="compass-container">
    <div
      class="compass-outer-ring"
      ref="compassOuterRing"
      @click="handleClick"
      @mousedown="onMouseDown"
   
基于Cesium的指南针插件 因为cesium自身没有携带指南针插件,所以需要引用其他的插件 这里我采用的是:CesiumNavigation.umd 作者github库:CesiumNavigation.umd 由于国内访问慢,我把库引到了gitee上,便于国内访问:CesiumNavigation.umd 也可以直接在这里下载使用:CesiumNavigation.umd 使用方法 在html文件中引用Cesium和Cesium必要样式表 在html文件中引用CesiumNavigation.umd.js和cesiu.. 阅读详情

相关推荐

cesium 实现指南针及比例尺效果

静态资源: <script type="text/javascript" src="../Build/CesiumUnminified/Cesium.js" nomodule></script> <script type="text/javascript" src="/emc/js/Cesium-1.64/viewerCesiumNavigationMixin...

qq_26579715的博客 9574

Cesium 实战:指南针与比例尺组件的集成与优化

本文详细介绍了在Cesium三维地球中集成指南针与比例尺组件的实战方法,包括基础环境搭建、原生API实现、交互逻辑增强及性能优化技巧。通过具体代码示例和项目经验分享,帮助开发者解决GIS导航中的常见问题,提升用户体验和系统性能。

weixin_29220405的博客 458

105.(cesium篇)cesium指南针

105.(cesium篇)cesium指南针

GIS之家家长 302

cesium指南针插件

cesium指南针插件 直接引用 无需编译 实现在cesium上指南针和图例效果 cesium指南针插件 直接引用 无需编译 实现在cesium上指南针和图例效果

cesium指南针(自带demo,放到Tomcat等容器内可运行)

原始html+css+js的方式,没采用es6的import方式,提供样例代码,拉过来就能用,需要import的可以去GitHub上下es6的,或者从我另外一个资源里下

cesium-navigation:Cesium插件,可向Cesium地图添加指南针,导航器(放大)和距离比例

铯导航 这是一个Cesium插件,它向Cesium地图添加了用户友好的指南针,导航器(放大/缩小)和距离比例图形用户界面。 你为什么建造它? 首先,Cesiumjs sdk不包含指南针,导航器(放大/缩小)或距离比例尺。 您可以使用鼠标在地图上导航,但是此导航插件为用户提供了更多的导航控件和功能。 其中的一些功能是:将指南针重置为指向北方,重置轨道,以及将视图重置为默认范围。 您是如何建造的? 该插件基于terriajs开源库( )出色的指南针,导航器(放大/缩小)和距离比例。 terriajs的导航UI不能在Cesium中开箱即用,因为Cesium使用带有RequireJS的AMD模块,而terriajs使用commonjs和Browserify,因此您不能仅将源文件复制到Cesium并进行构建。 我的工作包括修改代码以使其在Cesium中作为插件工作,如下所示: 从terr

cesium+vue2添加指南针控件

cesium+vue2添加指南针控件

基于PDF文档结构的数字隐写

PDF隐写

xiongshivigor的博客 1419

2024秋招,腾讯测试与质量管理工程师一面

家人们,秋招都开奖了吗,拿到自己心仪的offer了吗,还是在准备明年的春招呢?今天我记录一下,之前面试腾讯测开的一面过程面试官人非常好,我回答中有问题的地方,及时帮我指正同时耐心回答我的反问只可惜我当时的能力不足以达到鹅厂的标准,遗憾错过。

chowley的博客 1053

神经符号AI架构解析:如何通过V&V提升AI系统可信性

在人工智能领域,深度学习模型因其强大的模式识别能力而广泛应用,但其内部决策过程往往如同“黑盒”,难以追溯和解释,这给系统验证与确认带来了巨大挑战。验证与确认是确保复杂软件系统安全、可靠、符合预期的基石,其中验证关注“是否正确地构建了产品”,确认则关注“是否构建了正确的产品”。神经符号人工智能作为一种新兴范式,通过融合符号逻辑的透明推理与深度学习的强大感知,为解决这一难题提供了关键技术路径。它使得AI系统既能从数据中学习复杂模式,又能依据可形式化检验的规则进行逻辑推理,从而在自动驾驶、医疗诊断等高可靠性应用场

weixin_28681379的博客 354

TensorRT-LLM环境配置避坑指南:从安装到实战

本文是一份详尽的TensorRT-LLM环境配置避坑指南。文章重点解析了从Python、CUDA、PyTorch版本选择,到解决mpi4py安装这一核心难题的完整流程,并提供了经过验证的稳定版本组合与实战排错方案,帮助开发者高效部署大语言模型推理优化环境。

a0b1c2d3的专栏 972

一款值得关注的开源企业管理ERP系统

盒木ERP是一款开源的现代化企业管理系统,采用前后端分离架构,后端基于Python+Django,前端使用Vue+Ant Design。系统涵盖采购、销售、库存、财务等核心业务模块,支持移动端操作和PDA扫码。具有开源免费、技术先进、功能完善等特点,适合中小企业使用或二次开发。项目提供详细部署指南,支持Docker容器化部署,是学习ERP系统开发和企业数字化转型的优秀选择。

1094

手把手教你用RV1103+SC3336摄像头DIY一个离线人脸门禁原型

本文详细介绍了如何利用RV1103芯片和SC3336摄像头构建离线人脸门禁系统。从硬件选型到算法优化,再到业务逻辑实现,提供了完整的DIY指南。重点讲解了RetinaFace和FaceNet算法在嵌入式系统中的移植与调优,帮助开发者快速实现高效、隐私安全的门禁解决方案。

weixin_26905487的博客 505

【纯干货分享】常用高速接口眼图模板合集

文章汇集了常见的高速接口的信号眼图测试模板技术要求,比如,LPDDR5/4、PCIe 5.0/4.0、USB、MIPI等等,方便工程师快速进行查询和使用。

一只豌豆象的博客 3103

UE5实现距离测量功能

UE5实现距离测量功能

专注GIS开发 6260

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: electron窗口管理封装和页面通讯
下一篇: echart实现柱状图里的水波效果
前端灵派派
博客等级 码龄7年 31粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值