cesium根据鼠标的位置显示经纬度以及视角高

因考虑到性能 将viewer挂载到了window上

MOUSE_MOVE事件

var canvas = window.$viewer.scene.canvas;
      var ellipsoid = window.$viewer.scene.globe.ellipsoid;
      var handler = new Cesium.ScreenSpaceEventHandler(canvas);
      handler.setInputAction(function (movement) {
        //捕获椭球体,将笛卡尔二维平面坐标转为椭球体的笛卡尔三维坐标,返回球体表面的点
        var cartesian = window.$viewer.camera.pickEllipsoid(
          movement.endPosition,
          ellipsoid
        );
        if (cartesian) {
          //将笛卡尔三维坐标转为地图坐标(弧度)
          var cartographic =
            window.$viewer.scene.globe.ellipsoid.cartesianToCartographic(
              cartesian
            );
          //将地图坐标(弧度)转为十进制的度数
          var lat_String = Cesium.Math.toDegrees(cartographic.latitude).toFixed(
            4
          );
          var log_String = Cesium.Math.toDegrees(
            cartographic.longitude
          ).toFixed(4);
          var alti_String = (
            window.$viewer.camera.positionCartographic.height / 1000
          ).toFixed(2);
          let radiansPos = {};
          radiansPos["latitude"] = lat_String;
          radiansPos["longitude"] = log_String;
          radiansPos["altitude"] = alti_String;
          console.log(radiansPos);
          that.$store.commit("getLong", radiansPos);
        }
      }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_63701303

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值