openlayer绘图时禁止移动地图的两种方式
来源:互联网 发布:网络虚拟技术 编辑:程序博客网 时间:2024/06/04 08:06
问题来源
出于防误操作的关系,我考虑到在地图绘制时禁止掉拖动地图的操作,在绘制结束才恢复回来。但直接用openlayer的Interaction的DragPan注册控件行不通,由此我实验得到以下两种方法。
方法一:利用draw里的freehand模式
核心就是多加入两个属性来限制draw的应用范围。
new ol.interaction.Draw({condition: ol.events.condition.mouseOnly,freehandCondition: ol.events.condition.noModifierKeys,source: source,type: 'LineString'});
方法二:利用已注册的DragPan来限制
既然自定义的不行,那就应该想到,初始化的时候地图就可以拖动,是不是意味着地图一开始就绑定好了拖动事件呢,事实证明是对的。既然如此,我就通过遍历拿到这个事件,再凭借事件来完成我想要的功能。(推荐原因:应用范围更广)。
var pan; map.getInteractions().forEach(function(element,index,array){if(element instanceof ol.interaction.DragPan) pan = element; });//使用: pan.setActive(true) --开启拖动 pan.setActive(false) --关闭拖动
0 0
- openlayer绘图时禁止移动地图的两种方式
- openlayer设置地图可拖动、禁止拖动
- Ajax中对于与禁止缓存的两种方式
- iOS中自定义绘图的两种实现方式
- openlayer调用geoserver发布的地图实现地图的基本功能
- Unity 实现小地图的两种方式
- openlayer 加载wfs 2种方式
- 移动端页面开发的两种方式
- openlayer实现仿各大地图的标注点触碰样式变换
- 基于OpenLayer的室内地图前端设计开发
- GIT库中禁止追踪文件变化的两种方式
- 绘图的几种方式
- 绘图的五种方式
- 读书笔记一,openlayer创建地图
- 如何使用Openlayer发布地图
- 如何使用Openlayer发布地图
- 如何使用Openlayer发布地图
- 两种禁止USB autosuspend的方法
- JAVA方法参数传递详解
- 在同一台物理机上配置多个ActiveMq主程序
- iOS如何实现录音
- static关键字的用法
- Spring 3整合Quartz 2实现定时任务三:动态暂停 恢复 修改和删除任务
- openlayer绘图时禁止移动地图的两种方式
- memcache压测
- 表变量与临时表的区别和联系
- 一般现在常见的网站攻击方式
- [Android]导入导出Excel表格到本地SQLite
- 实习第一周(第三天)(linux如何查看变量,read命令,通配符, 撷取命令: cut, grep,sort,wc,uniq等等)
- 大数定律
- UML学习笔记(五)--顺序图
- mysql取出大于3的赞评论(取出热门评论),然后其余的按时间先后顺序