cesium获取当前层级

与二维不同,cesium其实没有层级的概念,二维之中当前层级是由zoom来控制,但是三维,视角的范围全靠视角高度来控制。

var currentMagnitude = viewer.camera.getMagnitude();
console.log('currentMagnitude - ' + currentMagnitude);
viewer.camera.zoomIn((10000000));
console.log('NewMagnitude - '+ viewer.camera.getMagnitude());

zoomin代表高度拉近多少。

zoomout代表视角高度拉远多少,也不用去管当前视角高度,因此他就是相对于当前高度的

 

//在后来的实践中,发现还是需要计算二维对应的层级。

查看源码可以发现,该函数使用到了层级的概念

requestImage具体请求瓦片数据

TimeDynamicImagery  将层级传给requestImage函数--暂停研究

https://www.jianshu.com/p/2d4bd6e30c1b 打包命令

 

二维之中可以用地理距离除canvas的宽度得到resolution去与标准的resolution集比较

但cesium的层级好像不可以这样算。先暂时记录一下。包括鼠标事件。84坐标与墨卡托投影的转换

获取当前视角范围

https://blog.csdn.net/yk583443123/article/details/90521081

cesium中的鼠标事件

https://blog.csdn.net/qq_30100043/article/details/86637203

84坐标系转为墨卡托坐标系

https://blog.csdn.net/a0405221/article/details/78772303

var earthRad = 6378137.0;
var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);

handler.setInputAction(function(event) {
    var rectangle = viewer.camera.computeViewRectangle();
    // var west =rectangle.west / Math.PI * 180;
    // var east = rectangle.east / Math.PI * 180;
    var dis=(rectangle.west- rectangle.east)*earthRad
    console.log(dis/700)
}, Cesium.ScreenSpaceEventType.WHEEL);
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值