OpenLayers 类分析(一).pdf

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OpenLayers 类分析 (一) 分析人:观海(QQ:531622) 背景:在开发使用OpenLayers 库的过程中,只有对其类实现方法有深入了解,应用才 能得心应手。所以,经过源码研读,整理出如下笔记,希望对大家有帮助。 1、OpenLayers.Control 类说明 1.1、OpenLayers.Events 监听事件处理 OpenLayers.Events 用于管理显示div 上的事件处理机制。其监听事件处 理的类结构如下图所示: Events +eventHandler listener +attachToElement() +obj +triggerEvent() +func +register () 1 * +unregister () +handleBrowserEvent() Event +stop () +observe() Events 内部维持一个事件监听函数listener 构成的队列,由register 和 unregister 来管理。当事件触发时,由triggerEvent 来完成遍历队列分派事件。 attachToElement 用于绑定事件接收函数到对应的 div 上。 Events 类直接用于 Control 类、 Map 类和Layer 类中的 div 事件管理。 1.2、OpenLayers.Control 监听事件应用解析 Control -eventListeners -div -events +activate() Map +deactivate() -events 1 * +draw () +addControl() Control.MousePosition +redraw () +reset() +activate() 在 OpenLayers.Control 中内含一个 OpenLayers.Events 类来管理监听事 件。当初始化设置 Control 中的div 值时,OpenLayers.Events 会自动绑定 handleBrowserEvent 函数来接收浏览器 div 上的各种事件。当事件发生时,通 过triggerEvent,将事件发到每个监听函数 listener 中。 OpenLayers.Control 类中的 activate 和 deactivate 是 Events 中的 register 和 unregister 的封装,使用户都可以通过 Control 类来操作,不必 关心底层运作。 OpenLayers.MousePosition 类,事件监听解析 MousePosition 类,在active 函数中,将事件监听函数注册进 OpenLayer.Map 中的 events 事件处理类中。直接监听来自 Map 的 div 中的事 件消息,并处理。 1.3、OpenLayers.Con

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档