首页 > 其他 > 详细

Cesium经纬度

时间:2020-04-21 17:23:49      阅读:69      评论:0      收藏:0      [点我收藏+]
computed: {
  handler() {
    return new this.Cesium.ScreenSpaceEventHandler(this.viewer.scene.canvas)
  }
}
    //获取经纬度的方法
    getPosition() {
      const _this = this  //这里必须要转换一下 在setInputAction方法中,this的指向发生了变化
      _this.handler.setInputAction(function (movement) {
        //获取屏幕坐标
        var position = movement.endPosition

        //屏幕坐标转换为世界坐标
        var pick = new _this.Cesium.Cartesian2(position.x, position.y)
        var cartesian = _this.viewer.scene.globe.pick(_this.viewer.camera.getPickRay(pick), _this.viewer.scene)

        //世界坐标转换为经纬度
        var ellipsoid = _this.viewer.scene.globe.ellipsoid
        if(cartesian === undefined){

        }else{
          var cartesian3 = new _this.Cesium.Cartesian3(cartesian.x, cartesian.y, cartesian.z)
          var cartographic = ellipsoid.cartesianToCartographic(cartesian3)
          var lat = _this.Cesium.Math.toDegrees(cartographic.latitude)   //这是纬度
          var lng = _this.Cesium.Math.toDegrees(cartographic.longitude)  //这是经度
          _this.latitudeData = lat
          _this.longitudeData = lng
        }
      }, _this.Cesium.ScreenSpaceEventType.MOUSE_MOVE)    //_this.Cesium 是在main.js里配置了全局变量
    }

Cesium经纬度

原文:https://www.cnblogs.com/reround/p/12745057.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!