Cesium中监听MOUSE_MOVE事件获取经纬度和高度


在这里插入图片描述
有时候在这个圆球上获取精确的经度纬度还不容易,特别是高度

还好在cesium提供了接口,看


      let selft  = this;
      const scene = this.viewer.scene;
      var canvas = scene.canvas;
      var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
      handler.setInputAction(function(movement) {
          var cartesian = scene.camera.pickEllipsoid(movement.endPosition, ellipsoid);
          var ellipsoid = scene.globe.ellipsoid;
          if (cartesian) { //能获取,显示坐标
              var cartographic = ellipsoid.cartesianToCartographic(cartesian);
              var coords = '经度' + Cesium.Math.toDegrees(cartographic.longitude).toFixed(2) + ', ' + '纬度' + Cesium.Math.toDegrees(
                  cartographic.latitude).toFixed(2) + '高度 ' + Math.ceil(selft.viewer.camera.positionCartographic.height);
              console.log(coords) ;

          } else { //不能获取不显示

          }
      }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM