antv/l7地图,鼠标滚动,页面正常滑动-- 我们忽略的deltaY

这篇具有很好参考价值的文章主要介绍了antv/l7地图,鼠标滚动,页面正常滑动-- 我们忽略的deltaY。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

在官网项目中,需要使用一个地图,展示产品的分布区域及数量。希望的交互是,鼠标放上标点,tooltip展示地点和数量等信息。鼠标滚动,则页面随着滚动。但是鼠标事件是被地图代理了的,鼠标滚动意味着地图的缩放。
antv/l7地图,鼠标滚动,页面正常滑动-- 我们忽略的deltaY,项目问题集,计算机外设,前端,html,javascript

问题解决

我们首先想到的就是关闭地图的缩放

     const scene = new Scene({
        id: 'map',
        map: new GaodeMap({
          zIndex: 0,
          pitch: 0,
          style: 'light',
          center: [36.753416,33.142173],
          zoom: 1,
          rotateEnable: false,
          zoomEnable: false,  // 关闭地图缩放
          dragEnable: false  // 关闭拖拽
        }),
        logoVisible: false,
      })

这个设置了之后,我们发现鼠标在地图上是滚不动的状态,就是我们无论如何滚动鼠标,页面都没有动静。其实就是我们的鼠标事件被地图给代理了,但是他这里没有处理我们禁用了缩放和拖拽之后,将鼠标事件脱离代理。

然后我们就开始想解决办法:

  • 在地图上套一层空的蒙层?
    这样解决了滚动,但是我们不能影响鼠标的hover效果
    antv/l7地图,鼠标滚动,页面正常滑动-- 我们忽略的deltaY,项目问题集,计算机外设,前端,html,javascript
    所以蒙层这个方案不太可行。。。。。
  • 重写鼠标事件
    我们去翻API文档,发现了他🈶️抛出鼠标事件的监听回调
    antv/l7地图,鼠标滚动,页面正常滑动-- 我们忽略的deltaY,项目问题集,计算机外设,前端,html,javascript
    我们要用的就是这个鼠标滚动的事件mousewheel,当找到这个事件的第一时间,其实我也是不知道怎么去做的,一直在思考,怎么让它动起来,我能想到使用scrollTop 去做,但是实在想不到每次该改变多少,方向如何。这其实就是因为我不知道deltaY这个属性的存在。最后老大给我说有个属性可以知道鼠标滚动的量,一查就是这玩意儿。前辈果然还是前辈,经验是什么都换不来的。当然还是自己接触的太少了,学习的不够。
    antv/l7地图,鼠标滚动,页面正常滑动-- 我们忽略的deltaY,项目问题集,计算机外设,前端,html,javascript
    最后的解法scrollTop + deltaY:
       scene.on('mousewheel', (ev) => {
          document.documentElement.scrollTop += ev.originEvent.deltaY
        })

小结

以此记录一下这个问题的解决办法,也加深一下自己对这个属性的了解。文章来源地址https://www.toymoban.com/news/detail-630070.html

到了这里,关于antv/l7地图,鼠标滚动,页面正常滑动-- 我们忽略的deltaY的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AntV L7 快速入门示例

    L7 地理空间数据可视分析引擎是一种基于 WebGL 技术的地理空间数据可视化引擎,可以用于实现各种地理空间数据可视化应用。L7 引擎支持多种数据源和数据格式,包括 GeoJSON、CSV等,可以快速加载和渲染大规模地理空间数据。L7 引擎还提供了丰富的可视化效果和交互功能,包

    2024年02月07日
    浏览(33)
  • 「AntV」L7地理可视化:从入门到实践

    这是一篇由浅入深的AntV L7的学习笔记总结,记述了从了解到使用的一些过程 本文所使用的数据(包括数据处理过程)和代码均有详细描述,所有案例均可复现,甚至大部分代码可直接使用 如果喜欢分页阅读,可以参考下列目录: 「AntV」L7 快速入门示例 - 当时明月在曾照彩

    2024年02月08日
    浏览(34)
  • python之selenium库安装及用法(定位法、获取文本、文本框输入、鼠标点击、滑动滚动条)

    谷歌浏览器驱动下载地址:https://chromedriver.storage.googleapis.com/index.html 根据你电脑的谷歌浏览器版本,下载相应的就行。我下载的是110.0.5481.XX中的chromedriver_win32.zip 下载完成,解压将里面的chromedriver.exe放到你python安装路径的scripts文件夹中。 能打开百度网页说明安装成功 (一

    2023年04月27日
    浏览(53)
  • Echarts微信小程序中条形图上下滑动引起页面滚动问题

    先看条形图 如图所示是,echarts中典型的横向柱状图(条形图) 需求:可以让图形进行放大缩小,并且放大后可上下滚动查看; 主要问题:放大图表之后,手指上下滑动会引起页面整体滚动,影响数据查看体验 PS:看了很多方案,有 直接修改源码 阻止touchstart、touchmove、to

    2024年04月17日
    浏览(64)
  • addEventListenter 监听页面滚动事件 鼠标左键拖拉滚轮

    问题:在同一个界面需要调的接口太多,需要做懒加载 想法:监听滚动位置,到一个范围内调用对应的接口 做法1: 1、首先在整个vue文件的最外层加上 ref=\\\"scrollview\\\"和 @mousewheel=“scrollChange” 2、在methods中写下一个滚轮方法,里面具体需要做什么处理(比如到哪个位置调用哪

    2024年02月09日
    浏览(42)
  • vue3 实现门户网站页面鼠标滚轮控制页面上下滚动---类似轮播图

    案例参考:首页_CNESA 储能研究平台 //监听鼠标滚动事件  window.addEventListener(\\\'mousewheel\\\', debounce(methodB,300), true)||window.addEventListener(\\\"DOMMouseScroll\\\",debounce(methodB,300),false) const debounce = (func, wait) ={         let timeout;         return  function() {             let context = this;            

    2024年02月12日
    浏览(80)
  • react结合js获取屏幕鼠标滚动等距离实现页面懒加载

            也叫延迟加载,指的是在长网页中延迟加载内容或图像,是一种很好优化网页性能的方式。在滚动屏幕之前,可视化区域之外的内容不会进行加载,在屏幕滚动距离底部到一定距离时才加载。这样网页的加载速度更快,减少了服务器的负载。         懒加载适

    2024年02月10日
    浏览(43)
  • Android 自动滚动的RecyclerView,手动滑动和自动滑动无缝衔接,手动滑动时数据不重复

    概要 做一个自动滑动的列表,用于展示聊天记录或者通知栏信息等,还是使用主流的RecyclerView来做。网上有很多案例,但当手动滑动时会一直无限循环,数据重复的出现,如果想要自动滑动时能无限循环,手动滑动时又能滑到底呢?本案例就解决这种手动滑动和自动滑动无缝

    2024年01月23日
    浏览(49)
  • 隐藏iframe滚动条,并禁止滑动

    当我们通过 iframe 展示图片,或是通过 iframe 展示 PDF文件 时,如果图片和 PDF 超出 iframe设置的宽高,就会出现横纵向的滚动条,如下图。当 iframe 展示 PDF文件 时如何隐藏滚动条?当 iframe 展示图片时如何隐藏滚动条?有下面两种方法: 1、通过 scrolling : no 隐藏滚动条 iframe 的

    2024年02月05日
    浏览(43)
  • VUE屏幕整体滚动——滑动或滚轮(原生方法)

    一年嗖的一下儿就过去了,最近几年很流行搞年终总结,因此也研究了一下相关的内容,主要记录一下手机端与电脑端分辨通过滑动与滚轮使得整个屏幕滚动的效果 不论是使用滑动还是滚轮的方式基础的转换逻辑是相通的 首先完成页面部分的搭建,@mousewheel、@DOMMouseScroll主要

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包