没有合适的资源?快使用搜索试试~ 我知道了~
首页Openlayer项目分析
Openlayer项目分析
4星 · 超过85%的资源 需积分: 10 23 下载量 108 浏览量
更新于2023-07-05
评论
收藏 278KB DOC 举报
对openlayer架构等的分析,详细介绍了openlayer,很有用。
资源详情
资源评论
资源推荐
OpenLayers 项目分析——(一)项目介绍
OpenLayers 项目分析——(一)项目介绍
(OpenLayersJavaScriptMappingLibrary)
(一)项目介绍
网址:
是由 公司开发的,用于 WebGIS
客户端的
包,目前的最高版本是 ,通过 发行。它实现
访问地理空间数据的方法都符合行业标准,比如 OpenGIS
的 和 !
规范,> 采用纯面向对象的 方式开发,同时借用了
" 框架和 # 库的一些组件。
采用 作为客户端不存在浏览器依赖性。由于
采用 语言实现,而应用于 $ 浏览器中的 (文档对象模
型)由 实现,同时, $ 浏览器(比如 %&,!! 等)都支持
。
'"% 采用动态类型脚本语言 编写,实现了类似
与 Ajax
功能的无刷新更新页面,能够带给用户丰富的桌面体验(它本身就有
一个 '() 类,用于实现 '() 功能)。
目前, 所能够支持的 !* 有:
+、,、,-、,#、-、.、 !、 ./0 1
./)2。在 "!* 名称空间下的各个类里,实现了具体
读/写这些 !* 的解析器。
所能够利用的地图数据资源“丰富多彩”,在这方面提供给拥
护较多的选择,比如
、 !、,、.、3&、 4 4 等等。
当然,也可以用简单的图片作为源。
第一次使用 :
先到它的官方网站
55
下载他的压缩包,解压
后可以看到其中的一些目录和文件,拷贝目录下的 (、根目录下
的 $ 目录、根目录下的 * 目录到你网站的 目录下(当然,这个只
是例子,您网站的目录结构您自己说得算,只要保证 (,$,
* 在同一目录中即可)。>然后,创建一个 4)* 作为查看地图的页面,
导入 ( 和你将要创建的 (。
我们以加载 和 , 文件为例。
678$(8969
678)(89
7:)1)4*3
7;<:1)4*3
=*7:3*$>=*
*?:
声明变量 *、;等同于>*73:73
:
*70@*@2:
实例化一个地图类
7 08 8?
8$****<8?A@$
@B2:
以 的格式实例化图层类
*4402:
*=*/&)03401
CDEED?;;CCCF?
;GHHD;C?;DCGCC22:
在 对象上加载 对象,并用 *=*/&) 函数使
地图合适地显示 *440,08,
8?8*)*822:
再在刚加载的 文件上,加载一 , 文件
剩下的工作就是,加上一些控件 之类的东西,比如
等。它们会在地图浏览的“窗口”上增加一些工具栏或是“按钮”,
增加互动性和功能性。
当然, 中的东西远不止这些,至于它的框架分析、'"% 实现
机制,会在后续文章中说出。写这个的过程,也是一个学习的过程,其中难免
有不妥之处,热烈欢迎大家批评指正,相互交流。
(二)源代码总体结构分析
通过前面的项目介绍,我们大概已经知道 Openlayers
是什么,能够做什
么,有什么意义。接下来我们分析它怎么样,以及怎样实现的等问题。
这个图是从它的文档上截取的,旨在从感官上认识一下 的类。
下面分别介绍(文档中的类是按字母顺序排列的,也按这个顺序说吧):
我们看到在类的顶层“高高在上”的是 ,它为整个项目实现提
供名称空间( 语言没有名称空间一说,但是它确实有自己的机制实
现类似的功能,后面会说明),它直接拥有一常量>&#%-I-J&#,以
标识版本。
Ajax:顾名思义,用于实现 '() 功能,只是 的开发者们把
它单独写到一个类里了,其中用到了 "( 框架里的一些东西。同时,
设计的时候也考虑了跨浏览器的问题。
BaseTypes:这里定制了 中用到的 ,3*$和>>
3。比如, ,用于测试一个字符串是
否一以另一个字符串开头;-3*$*,用于限制
整数的有效数位;!3$4,用于把某一函数绑定于对象
等等。
Console:,此名称空间用于调试和把错误等输
出到“控制台”上,需要结合使用!$3K$3(。
Control:我们通常所说的控件类,它提供各种各样的控件,比如上节中
说的图层开关 ,编辑工具条 &4/$ 等等。加载控件
的例子:
70@*@?ALMB2:
*440"N*022:
*4403/$022:
Events:用于实现 的事件机制。具体来说,
中的事件分为两种,一种是浏览器事件,例如 *33?*34 之类的;
另外一种是自定义的,如 44 之类的。 中的事件机制是非
常值得我们学习的,后面将具体讨论。
Feature:我们知道:!3 是 和 $3 的集合。
在 中,特别地 !3类由一个 !3 和一个
组成。
!3 ! 与 !3 继承于它。
Format:此类用于读/写各种格式的数据,它的子类都分别创建了各个
格式的解析器。这些格式有:
+、,、,-、,#、-、.、 !、 ./0 1
./)2。
Geometry:怎么翻译呢,几何?是对地理对象的描述。它的子类有
、3、#、、3、3"
、3"、"、"、#、3>,正是这些类
的实例,构成了我们看到的地图。需要说明的是,3>类暂时还没有实现。
Handler:这个类用于处理序列事件,可被激活和取消。同时,它也有命
名类似于浏览器事件的方法。当一个 4被激活,处理事件的方法就会被
注册到浏览器监听器 ,以响应相应的事件;当一个 4 被取消,
这些方法在事件监听器中也会相应的被取消注册。O4 通过控件
被创建,而 通过 表现。
Icon:在计算机屏幕上以图标的形式呈现,有 3、尺寸 = 和位置
3个属性。一般情况,它与>P 结合应用,表现为
一个 P。
Layer:图层。
Map:网业中动态地图。它就像容器,可向里面添加图层 和控件
。实际上,单个 是毫无意义的,正是 和 成就了它。
Marker:它的实例是 和 % 的集
合。通俗一点儿说,% 附上一定的经纬度就是 P。
它们的组合关系是:
Popup:地图上一个小巧的层,实现地图“开关”功能。使用例子:
7"308P8?
0?;<2?
=0<<?<<2?
8)*38?
32:
*44"3032:
剩余31页未读,继续阅读
ballkingyao
- 粉丝: 2
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1