vue-cesium-dataV问题

  • Post author:
  • Post category:vue


在使用dataV加载地图的时候,使用到地图点击事件之后发现点击之后的坐标点始终有偏移,在另一个项目中没有使用dataV却可以正常使用,考虑到dataV全屏的机制,是因为transform的原因。


解决办法:

找到node_modules下面的目录,修改代码,代码我贴在下面(

这也是导致地图取不到pick的原因



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



版权声明:本文为song766426原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。