没有合适的资源?快使用搜索试试~ 我知道了~
首页openlayers项目分析文档
openlayers项目分析文档
2星 需积分: 17 74 下载量 28 浏览量
更新于2023-03-03
评论
收藏 284KB DOC 举报
openlayers是一个开源得webgis项目,该文档收集了对openlayers开源webgis项目的总结,包括项目介绍、源代码总体结构分析、定义底层类与定制JS内置类、空间数据的组织与实现、数据渲染分析、地图表现、OpenLayers中的控件等。
资源详情
资源评论
资源推荐
项目分析——(一)项目介绍
(一)项目介绍
网址:
是 由 公 司 开 发 的 , 用 于 WebGIS
客 户 端 的
包,目前的最高版本是 ,通过 发行。它实现
访问地理空间数据的方法都符合行业标准,比如 OpenGIS
的 和
规范,> 采用纯面向对象的 方式开发,同时借用了
框架和 库的一些组件。
采用 作为客户端不存在浏览器依赖性。由于
采用 语言实现,而应用于 浏览器中的 (文档对象模
型)由 实现,同时, 浏览器(比如 , 等)都支持
。
采用动态类型脚本语言 编写,实现了类似
与 Ajax
功能的无刷新更新页面,能够带给用户丰富的桌面体验(它本身就有
一个 !" 类,用于实现 !" 功能)。
目 前 , 所 能 够 支 持 的 # 有 :
、 、$%、 !、%、&、、&'("#$%&
。在 )# 名称空间下的各个类里,实现了具体读/写这些
# 的解析器。
所能够利用的地图数据资源“丰富多彩”,在这方面提供给拥
护 较 多 的 选 择 , 比 如
"、、 、&、'()、)** 等等。当然,
也可以用简单的图片作为源。
一个 " 实例
第一次使用 :
到它的官方网站
下载 压缩包,解
压后可以看到其中的一些目录和文件,拷贝目录下的 !、根目录
下的 ) 目录、根目录下的 #+ 目录到你网站的 目录下(当然,这个
只是例子,您网站的目录结构您自己说得算,只要保证 !,,
),,#+ 在同一目录中即可)。>然后,创建一个 *"-#) 作为查看地图
的页面,导入 ! 和你将要创建的 !。
我们以加载 和 $ 文件为例。
*+,-,.*.
*+,&-,.
+/0&#&12(
+340#&12(
52+/0(2652
270
声明变量 2、;等同于>2+(0+(0
2+8280
实例化一个地图类
+",",7
,22224,7988:0
以 " 的格式实例化图层类
2110
252%)&;(1#<=>>??=733<</<>@7
3ABB=3<73=//<A<<0
在 对象上加载 对象,并用 252%)& 函数使地图
合适地显示
211 , ,7,2&2,0
再在刚加载的 " 文件上,加载一 文件
剩下的工作就是,加上一些控件 之类的东西,比如
等。它们会在地图浏览的“窗口”上增加一些工具栏或是“按钮”,增
加互动性和功能性。
当然, 中的东西远不止这些,至于它的框架分析、 实现机
制,会在后续文章中说出。写这个的过程,也是一个学习的过程,其中难免有
不妥之处,热烈欢迎大家批评指正,相互交流。
(二)源代码总体结构分析
通过前面的项目介绍,我们大概已经知道 Openlayers
是什么,能够做什么,
有什么意义。接下来我们分析它怎么样,以及怎样实现的等问题。
这个图是从它的文档上截取的,旨在从感官上认识一下 的类。
下面分别介绍(文档中的类是按字母顺序排列的,也按这个顺序说吧):
我们看到在类的顶层“高高在上”的是 ,它为整个项目实现提
供名称空间( 语言没有名称空间一说,但是它确实有自己的机制实
现类似的功能,后面会说明),它直接拥有一常量>')!CDEDF;)!,以标识
版本。
Ajax:顾名思义,用于实现 !" 功能,只是 的开发者们把
它单独写到一个类里了,其中用到了 ! 框架里的一些东西。同时,
设计的时候也考虑了跨浏览器的问题。
;%:这里定制了 中用到的 ,.#和>6(G
。比如,+-,用于测试一个字符串是否一以
另一个字符串开头;%.#)#++,用于限制整数的
有效数位;.*,用于把某一函数绑定于对象等等。
:,此名称空间用于调试和把错误等输出到“控
制台”上,需要结合使用,.+,/.+!。
:我们通常所说的控件类,它提供各种各样的控件,比如上节中说
的图层开关 ,编辑工具条 *+') 等等。加载控件的例子:
+82879HI:0
#**0)(10)2#(334
#**0)(10).')(334
):用于实现 的事件机制。具体来说, 中的
事件分为两种,一种是浏览器事件,例如 #..5#.*1 之类的;另
外一种是自定义的,如 ** 之类的。 中的事件机制是非常值
得我们学习的,后面将具体讨论。
J( : 我 们 知 道 : . 是 和 . 的 集 合 。 在
中 , 特 别 地 .类由 一 个 #6和一个
)) 组成。
J("J 与 . 继承于它。
#:此类用于读/写各种格式的数据,它的子类都分别创建了各个格
式 的 解 析 器 。 这 些 格 式 有 :
、 、$%、 !、%、&、、&'("#$%&
。
2 :怎么 翻译呢 , 几何? 是 对地 理 对象的 描 述 。它 的 子类有
0))、0.、+、+、.)+、.)
、.))+、、)+、+)、.7,正是这些类
的实例,构成了我们看到的地图。需要说明的是,(6类暂时还没有实现。
8*):这个类用于处理序列事件,可被激活和取消。同时,它也有命
剩余34页未读,继续阅读
mwhei1
- 粉丝: 1
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1