Cesium基础知识-鼠标点击点,坐标,经纬度,弧度

本文介绍如何使用Cesium JavaScript库实现通过鼠标点击地图来获取点击位置的经纬度坐标。文章详细展示了从屏幕点击事件到笛卡尔坐标,再到经纬度坐标的转换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. //获取经纬度
  2. function GetJingWeiDu() {
  3.     //定义canvas屏幕点击事件
  4.     var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
  5.     //注册鼠标事件,event参数是点击的地方是在哪里
  6.     handler.setInputAction(function (event) {
  7.         debugger
  8.         //定义一个屏幕点击的事件,pickPosition封装的是获取点击的位置的坐标
  9.         var position = viewer.scene.pickPosition(event.position);
  10.         //输出之后我们发现坐标信息都是大数目,因为cesium定义的球体坐标都是笛卡尔坐标,所以我们需要转换笛卡尔坐标
  11.         console.log("笛卡尔:" + position);
  12.         //将笛卡尔坐标转化为弧度坐标
  13.         var cartographic = Cesium.Cartographic.fromCartesian(position);
  14.         console.log("弧度:" + cartographic);
  15.         //将弧度坐标转换为经纬度坐标(先转弧度再转经纬度简单一点,直接转换的方法也有,不过推荐用这种)
  16.         var longitude = Cesium.Math.toDegrees(cartographic.longitude); //经度
  17.         var latitude = Cesium.Math.toDegrees(cartographic.latitude); //纬度
  18.         var height = cartographic.height; //高度
  19.         console.log("经纬度:" + longitude, latitude, height);
  20.         alert("经度:" + longitude + "纬度:" + latitude + "高度:" + height);
  21.         //同时也可以将经度度转回为笛卡尔 
  22.         var ellipsoid = viewer.scene.globe.ellipsoid;
  23.         //定义84坐标为一个Cartesian值
  24.         var wgs84 = Cesium.Cartographic.fromDegrees(longitude, latitude, height)
  25.         //将84坐标转换为笛卡尔
  26.         var dikaer = ellipsoid.cartographicToCartesian(wgs84)
  27.         //赋值
  28.         var longitude = dikaer.x;
  29.         var latitude = dikaer.y;
  30.         var height = dikaer.z;
  31.         alert("笛卡尔x:" + longitude + "笛卡尔y:" + latitude + "笛卡尔z:" + height);
  32.     }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
  33. }
  34. //GetJingWeiDu();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值