解决因transform适配导致ceiusm点击事件不准的问题

发布时间 2023-06-20 17:54:28作者: 菜鸟成长日记lx
因为项目是vue项目,所以改动时候需要改下面路径的文件
\node_modules\cesium\Source\Core\ScreenSpaceEventHandler.js
然后修改里面的这个方法(下图)

 

function getPosition(screenSpaceEventHandler, event, result) {
  var element = screenSpaceEventHandler._element;
  if (element === document) {
    result.x = event.clientX;
    result.y = event.clientY;
    return result;
  }
  var fa = element.offsetWidth/element.getBoundingClientRect().width;//计算缩放值
  var faHeight = element.offsetHeight/element.getBoundingClientRect().height;//计算缩放值
  const rect = element.getBoundingClientRect();
  
  result.x = (event.clientX - rect.left)*fa;//做差之后乘以缩放值就可以实现正常效果
  result.y = (event.clientY - rect.top)*faHeight;
  return result;
}

修改完记得重启项目哈,要不可能会不生效,有缓存