美文网首页开源
关于Cesium地图点击不准的问题

关于Cesium地图点击不准的问题

作者: 头晕的牛 | 来源:发表于2022-04-28 16:53 被阅读0次

出现这问题我遇到的一般有两种原因

  1. 因为地形深度原因导致的不准

参考博客:Cesium的拾取问题总结
解决办法:viewer.scene.globe.depthTestAgainstTerrain = true; //默认为false

  1. 页面使用了缩放的方式解决自适应问题 如:scale translate等

之前网站的时候自适应用了translate缩放,没有用rem导致cesium点击的时候,根据屏幕坐标获取的经纬度不准,拿不到点信息,后来把屏幕坐标打印出来就发现原因,虽然页面是缩放了,但是屏幕坐标还是页面原本的信息,所以对应不上,要把获取到的屏幕坐标根据缩放比例进行换算,再去获取经纬度
例子如下:

viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(){
  let x = _this.$store.state.scale_x;  // x轴的缩放比例
  let y = _this.$store.state.scale_y;  // y轴的缩放比例
  let position = {
     x: movement.position.x / x,
     y: movement.position.y / y,
  };  //  转化后的屏幕坐标
  var pickRay = viewer.camera.getPickRay(position);
  .......
})

相关文章

网友评论

    本文标题:关于Cesium地图点击不准的问题

    本文链接:https://www.haomeiwen.com/subject/wrvrsrtx.html