Cesium开发基础获——取鼠标点击的经纬度(lon、lat)、高度(height)、相机的视角(heading、pitch、roll)

cesium提供了三种方式,可以对camera进行操作,这三种方式,有三个共同的参数,heading,pitch,roll;
Roll 是围绕X轴旋转;
Pitch 是围绕Y轴旋转;
Heading 是围绕Z轴旋转;

<!DOCTYPE html>
<html lang="en"><head><!-- Use correct character set. --><meta charset="utf-8" /><!-- Tell IE to use the latest, best version. --><meta http-equiv="X-UA-Compatible" content="IE=edge" /><!-- Make the application on mobile take up the full browser screen and disable user scaling. --><metaname="viewport"content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"/><title>Hello World!</title><script src="../Build/Cesium/Cesium.js"></script><style>@import url(../Build/Cesium/Widgets/widgets.css);html,body,#cesiumContainer {width: 100%;height: 100%;margin: 0;padding: 0;overflow: hidden;}</style></head><body><div id="cesiumContainer"></div><script>const viewer = new Cesium.Viewer("cesiumContainer",{animation:false, //动画插件baseLayerPicker:false,geocoder:false,navigationHelpButton:false,timeline:false,fullscreenButton:false,homeButton:false,infoBox:true,scene3DOnly:true,//仅仅显示3d,可隐藏右上角2d和3d按钮selectionoIndicatr:false,navigationInstructionsInitiallyVisibl:false,useDefaultRenderLoop:true,showRenderLoopErrors:true,projectionPicker:false,//投影选择器vrButton:false
});// Load the NYC buildings tileset
// const tileset = new Cesium.Cesium3DTileset({//   url: '../Test/40866/tileset.json',
// });
// viewer.scene.primitives.add(tileset);
// viewer.zoomTo(tileset)// Cartesian3 {x: 1216381.3619795016, y: -4736633.564030139, z: 4081253.955153647}
//viewer.camera.pitch:-0.5000534963133889
//viewer.camera.roll:6.283185307179586
// viewer.camera.heading:6.283185307179586//Cesium获取鼠标点击的经纬度(lon、lat)、高度(height)、相机的视角(heading、pitch、roll)
var canvas = viewer.scene.canvas;
var handler = new Cesium.ScreenSpaceEventHandler(canvas);
handler.setInputAction(function(lclickment) {var scene = viewer.scene;var ellipsoid = scene.globe.ellipsoid;//var cartesian = LoadCesium.Viewer.camera.pickEllipsoid(lclickment.position, ellipsoid);var cartesian = viewer.scene.pickPosition(lclickment.position);positionPick = cartesian;var pinBuilder = new Cesium.PinBuilder();if (cartesian) {var cartographic = ellipsoid.cartesianToCartographic(cartesian);lon = Cesium.Math.toDegrees(cartographic.longitude).toFixed(7);lat = Cesium.Math.toDegrees(cartographic.latitude).toFixed(7);//地理高度//height = (cartographic.height+1).toFixed(2);//相机高度height=viewer.camera.positionCartographic.height.toFixed(0);//方向   围绕Z轴旋转heading = Cesium.Math.toDegrees(viewer.camera.heading).toFixed(2);//倾斜角度   围绕Y轴旋转pitch = Cesium.Math.toDegrees(viewer.camera.pitch).toFixed(2);//围绕X轴旋转roll = Cesium.Math.toDegrees(viewer.camera.roll).toFixed(2);console.log('lon:'+lon+";"+'lat:'+lat+";"+ 'height:'+height);console.log('heading:'+heading+';'+'pitch:'+pitch + ';'+'roll:' + roll)}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);</script></body>
</html>

Cesium开发基础获——取鼠标点击的经纬度(lon、lat)、高度(height)、相机的视角(heading、pitch、roll)相关推荐

  1. Cesium开发基础篇 | 04空间数据可视化之Entity

    前面介绍了Cesium如何加载影像数据.地形数据.以及矢量数据,但是作为一个完整的三维系统,仅仅包括这些数据还是远远不够的.当然,还需要一些其他数据,比如空间可视化数据.三维数据数据等,今天我们先从空 ...

  2. Cesium开发基础笔记总结(加载影像、加载地形数据、加载矢量)

    Cesium开发基础笔记总结 学习总结于GIS李胜老师博客 Cesium开发基础01加载影像数据 加载影像数据 Cesium中的影像图层类: 无论是二维地图还是三维地图,如果缺少了底图影像或电子地图, ...

  3. 在高德地图中获取鼠标点击的经纬度

    本文目录 一.注册高德开放平台 (一)创建应用 (二)添加 Key 二.代码实现 1. 引入必要的 CSS 文件与 JS 文件 2. 放置地图容器 3. 核心 JavaScript 代码 三.效果图 ...

  4. cesium矩阵和方位角heading ,pitch, roll的相互转换

    // 假设当前模型的经纬度坐标为{114, 30, 1000} 方位角{heading: 30, pitch: 20, roll: 10} 都是角度来计算 // 1. 根据坐标, 方位角计算世界矩阵v ...

  5. C++ QT开发人机象棋(鼠标点击)

    鼠标点击棋子,棋子能够进行相应的操作. mouseReleaseEvent(QMouseEvent *ev) 鼠标点击了以后,我们要知道鼠标点击的这个棋子的横纵坐标和这一点的棋子的id,这个时候需要调 ...

  6. cesium根据输入高度设置相机camera视角高度

    核心代码: camera.setView({destination: Cesium.Cartesian3.fromRadians(viewer.camera.positionCartographic. ...

  7. Cesium开发基础篇 | 02加载地形数据

    Cesium中的地形图层类 前面我们主要学习了cesium内置接口如何操作影像数据,但是在一些应用场景中我们需要操作地形数据,例如模拟逼真的三维场景.与高程相关的一些空间分析和计算等.Cesium提供 ...

  8. python读取鼠标点击坐标_python 读取鼠标点击坐标的实例

    python如何抓取鼠标点击事件,并返回点击所在坐标...希望能利用python抓取点击屏幕时在终端中打印出1,小编自己尝试的代码如下问题补充:拜托了 event里有x.y,是相对坐标,x_root, ...

  9. python鼠标点击位置_python鼠标点击位置 Python3怎么模拟鼠标点击?

    Python3怎么模拟鼠标点击? Python3怎么模拟鼠标点击?最好简单一点的方法 import win32api,win32condef click(x,y): win32api.SetCurso ...

  10. 学习swing鼠标点击事件心得体会_西门子COMOS软件开发定制学习8-查询列表间的数据交互...

    ​本篇在西门子COMOS软件开发定制学习6-管理界面定制基础上定制,简单介绍两个查询列表之间的数据交互. 实现效果: 在左侧列表中选择某一设备,右侧列表自动根据所选设备,显示该设备相关的设计图纸(如P ...

最新文章

  1. java wait定时_java定时器的使用(Timer)
  2. 【解题报告】Leecode 643. 子数组最大平均数 I——Leecode 刷题系列
  3. React中的this指向问题
  4. poj1419 Graph Coloring 最大独立集(最大团)
  5. Feign api调用方式
  6. PE下如何安装 安装版系统
  7. python D14 内置函数二
  8. python画图颜色表示大小变化_Python matplotlib减少色条标签的大小
  9. power bi 背景图_Power BI桌面脉冲图
  10. ElasticSearch 2 (20) - 语言处理系列之如何开始
  11. selenium 三种断言以及异常类型
  12. 图像的峰值信噪比(PSNR)的计算方法
  13. 基于市场情绪平稳度的股指期货日内交易策略
  14. IT人才供不应求,大数据分析程序员今后的发展道路
  15. Google Chrome for mac(谷歌浏览器)
  16. 操作系统原理实验(3):操作系统的基石中断与异常
  17. CF869E The Untended Antiquity(二维数状数组+差分+hash)
  18. Mac 使用brew安装phpredis扩展
  19. maya(学习笔记)之骨骼中关节的轴向确定方法
  20. 苹果三代耳机_P130 【AirPods 3代】绝对性的福利!“地表最强真无线耳机” 苹果第三代AirPods Pro蓝牙耳机、妙不可言!...

热门文章

  1. ifix 读写mysql_[转载]vb6读取ifix实时数据库和历史数据库
  2. 腾讯信鸽推送(一):服务端架构
  3. Python中函数介绍及其使用
  4. Ubuntu18版本安装ROS
  5. 计算机辅助园林设计ps,《CAD PS辅助园林设计》课程教学大纲.doc
  6. oppo系统android版本下载,oppo手机助手
  7. 【牛客网-公司真题-前端入门篇】——百度2021校招Web前端研发工程师笔试卷(第一批)
  8. Win7 系统解压安装
  9. java登录验证码_java实现登录验证码
  10. 小米便签源码分析——tool包