下载了Openlayers的源码,源码的版本是v6.2.1。粗略的看了下,结构清晰,代码简洁,是一个值得深入分析的开源框架,从中可以学到代码架构、设计模式、图层渲染,canvas,webgl,自定义事件、工具类等等,这些知识都是值得去好好研究的。下面就从类结构开始分析。主要是了解相关类的继承关系。
Map
map是最核心的一个类,首先从map来开始。具体的类结构如下图所示:
Map.png
View
View是map上的一个核心组件,用于展现地图,包括地图中心点,范围,缩放级别等。
View.png
Layer
Layer用于管理地图的图层,包括矢量图层、切片图层等。
Layer.png
Geometry
Geometry包括了地图中用到的所有几何体。
Geometry.png
Source
Source包括了所有的地图数据来源。
Source.png
ImageStyle
ImageStyle用于设置图标样式
ImageStyle.png
Control
Control包含了所有的控件。
Control.png
Interaction
Interaction包含了所有的交互事件。
Interaction.png
Event
Event用于管理地图中所有用到的事件。
Event.png
Format
Format包含了所有的数据格式。
Format.png
以上只是整理了一些继承关系比较复杂的类,还有一些关系不是很复杂的就不一一绘制了,等到解析源码的时候再说明相关的继承关系。
个人博客












网友评论