Handler是地图交互处理程序的抽象类
首先有三个方法:
enable() | this | 启用处理程序 |
disable() | this | 禁用处理程序 |
enabled() | Boolean |
|
其实这个类比较简单,而且比较好理解,先看一段代码
L.ClickHandle = L.Handler.extend({ addHooks: function () { L.DomEvent.on(window, 'click', this._tilt, this); }, removeHooks: function () { L.DomEvent.off(window, 'click', this._tilt, this); }, _tilt: function (ev) { console.log(ev) // Treat Gamma angle as horizontal pan (1 degree = 1 pixel) and Beta angle as vertical pan // this._map.panBy(L.point(ev.gamma, ev.beta)); } }); L.Map.addInitHook('addHandler', 'ClickHandle', L.ClickHandle); var map = L.map('map',).setView([31.150933, 120.658235], 14); map.ClickHandle.enable(); L.esri.basemapLayer('Streets').addTo(map);
L.Map.addInitHook('addHandler', 'ClickHandle', L.ClickHandle); 添加一个叫clickHandle的处理程序。执行的是addHooks方法。
map.ClickHandle.enable();启动这个处理程序,执行的是_tilt里面的代码。
map.ClickHandle.disable();禁用这个处理程序,执行的是removeHooks里面的方法。
是不是就很容易就理解了,可以通过这些指定的回调来做一些想实现的功能,目前项目中自己也没有用到,暂时想不出来什么时间用。。。
发表评论
侧栏公告
寄语
譬如朝露博客是一个分享前端知识的网站,联系方式11523518。
热评文章
标签列表
热门文章
友情链接