openlayers实现锁定地图,不可使用鼠标拖动放大缩小地图

这篇具有很好参考价值的文章主要介绍了openlayers实现锁定地图,不可使用鼠标拖动放大缩小地图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解决问题

开启地图锁定功能,不再允许使用鼠标拖拽查看地图,使用鼠标滚轮放大缩小查看地图
关键代码

function lock() {
      let pan;
      let mousezoom;
      map.getInteractions().forEach(function (element) {
        if (element instanceof DragPan)//获取 控制能否使用鼠标,手指拖动地图的对象
          pan = element;
        if(element instanceof MouseWheelZoom)//获取 控制能否使用滚轮滚动放大缩小地图的对象
          mousezoom = element;
        if (pan) {
            pan.setActive(true);
        }
        if (mousezoom) {
            mousezoom.setActive(true);
        }
      });
    }

包含业务开关的代码

function lock(lockval) {
	 //lockval  是业务中用来控制锁图标状态的
      let pan;
      let mousezoom;
      map.getInteractions().forEach(function (element) {
        if (element instanceof DragPan)//获取 控制能否使用鼠标,手指拖动地图的对象
          pan = element;
        if(element instanceof MouseWheelZoom)//获取 控制能否使用滚轮滚动放大缩小地图的对象
          mousezoom = element;
        if (pan) {
          if (lockval) {
            pan.setActive(true);//此对象的setActive方法用来设置是否可以拖动滚动查看
            isLock.value = !isLock.value;//isLock是业务中控制锁的图标的
          }
          else {
            pan.setActive(false);
            isLock.value = !isLock.value;
          }
        }
        if (mousezoom) {
          if (lockval) {
            mousezoom.setActive(true);
          }
          else {
            mousezoom.setActive(false);
          }
        }
      });
    }

openlayers禁止拖拽,javascript
openlayers禁止拖拽,javascript
openlayers禁止拖拽,javascript

openlayers禁止拖拽,javascript
注:这个图是别的大佬整理的 https://www.ktanx.com/blog/p/2656文章来源地址https://www.toymoban.com/news/detail-782590.html

到了这里,关于openlayers实现锁定地图,不可使用鼠标拖动放大缩小地图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 使用opengl绘制茶壶并实现鼠标拖动

    使用opengl绘制茶壶并实现鼠标拖动

    难点如下:         坐标轴绘制             选定一个原点,将坐标轴正方向和反方向的俩个点进行连线,代码及效果如上图所示(本次程序中由于渲染原因,坐标轴颜色统一为棕色)         如何实现鼠标响应         OPENGL中封存有对鼠标进行相应的函数,

    2024年01月17日
    浏览(22)
  • OpenLayers入门,OpenLayers实现地图原地旋转动画效果

    OpenLayers入门,OpenLayers实现地图原地旋转动画效果

    专栏目录: OpenLayers入门教程汇总目录 OpenLayers实现地图原地旋转动画效果,顾名思义,就是站在原地转一圈。 使用npm安装依赖 使用Yarn安装依赖 vue项目使用请参考这篇文章:

    2024年02月13日
    浏览(17)
  • OpenLayers实战,OpenLayers结合下拉菜单实现城市切换,动态切换城市边界到地图视图视角范围内

    OpenLayers实战,OpenLayers结合下拉菜单实现城市切换,动态切换城市边界到地图视图视角范围内

    专栏目录: OpenLayers实战进阶专栏目录 本章是OpenLayers综合实战案例,使用OpenLayers结合下拉菜单实现城市切换,动态切换城市边界到地图视图视角范围内。 本章需要使用到ElementUI的下拉框组件和OpenLayers的TopoJson格式解析地市边界数据并负责渲染,通过动态创建style样式来切换

    2024年02月06日
    浏览(11)
  • 使用vue+openLayers开发离线地图以及离线点位的展示

    1 .下载 引入到需要的组件中 2. 需要用到的api... (根据开发需求以及实际情况进行引入) 3. 准备一个dom容器以及弹出层的容器 4. 准备变量 5. 代码如下: 6. 最后贴出popup的样式 7. 参考中文官网OpenLayers 3 介绍

    2024年02月13日
    浏览(11)
  • Python 实现鼠标拖动截图

    Python 实现鼠标拖动截图

    此功能由3个.py文件实现,分别为:test00.py、screenshot.py、py_tool.py;实现鼠标附近局部放大,未截图部分半透明,鼠标控制键盘精准截图,鼠标框选后自动保存截图,按下esc键退出截图;

    2024年02月14日
    浏览(19)
  • Python实现鼠标拖动的监视

    目录 模块准备 具体步骤  设置监视函数 调用监视器 注意 结束语 这是用来监视鼠标的,pynput模块中还有监视键盘的。         首先,设置一个全局变量,这个全局变量是用来记录鼠标按下和释放的 设置监视函数         注:这里 on_click 函数里面有四个参数,你可以

    2024年02月12日
    浏览(11)
  • ThreeJs的场景实现鼠标拖动旋转控制

            前面一个章节中已经实现在场景中放置一个正方体,并添加灯光使得正方体可见。但是由于是静态的还不能证明是3D的,我们需要添加一些控制器,使得通过鼠标控制正方体可以动起来,实现真正的3D效果,由此引入OrbitControls组件,他实质是改变相机的位置,实现

    2024年02月07日
    浏览(10)
  • Python: 实现鼠标点击tkinter窗口任意位置拖动

    近期在用python的tkinter库开发一个GUI,在开发接近尾声时候,同事发现一个问题:因GUI窗口较大,在他的笔记本上不能全部展示,而且只能通过点击顶部状态栏才能拖动,这样即使鼠标已经在屏幕最顶部,也无法看到窗口底部的控件。 一个解决方法就是:窗口及控件可以自适

    2024年02月11日
    浏览(14)
  • flutter web项目中鼠标拖动无法实现滚动效果

    在完成web的flutter项目时,发现ListView列表使用鼠标拖动无法滚动,尝试发现使用触摸板可以实现滚动,但如果用户使用没有触摸板的电脑或列表为横向滚动时就无法实现项目需求了,在解决问题的过程中尝试了以下方法: 1.尝试使用点击事件模拟滑动手势 如果web项目中无法使

    2024年02月09日
    浏览(13)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包