OpenLayers源码阅读(二):体系结构

时间:2024-03-14 20:39:41

回顾上讲,ol以初始属性定义、对象继承等方法的定义实现开始。因此,在阅读后续源码的之前,需要对ol中所涉及到的对象有一个整体上的把握。

1、从ol.Object开始,向上、向下追溯,则构成了如下图的网络图
OpenLayers源码阅读(二):体系结构
其中,

  • Map(父类PluggableMap)、View、Layer、Overlay、Source、Geometry、Feature、Control等继承于Object
  • 图层渲染主要有webgl和canvas两种渲染方式

2、整体上把握ol.Object的子类
OpenLayers源码阅读(二):体系结构

3、数据与图层的的关系
OpenLayers源码阅读(二):体系结构
OpenLayers源码阅读(二):体系结构
数据与图层一一对应的关系

ol.layer.Layer ol.source.Source
ol.layer.Tile ol.source.Tile
ol.layer.Image ol.source.Image
ol.layer.Vector ol.source.Vector

ol.source.Tile的子类ol.source.UrlTile(通过url地址获取瓦片)的子类有:
OpenLayers源码阅读(二):体系结构
4、Control控件包含放大、鹰眼、鼠标位置、滚动条、比例尺、缩放到指定范围、全屏、属性、旋转等控件
OpenLayers源码阅读(二):体系结构
5、Geometry几何体包含简单几何体。几何体集合。
(扩展Simple Feature SQL(OGC标准之一)和Geojson数据类型
OpenLayers源码阅读(二):体系结构
6、Interaction交互方式,支持双击、鼠标滚轮、键盘、选择、拖拽等事件
OpenLayers源码阅读(二):体系结构
7、除了这些对象外,还有其他辅助的对象,如样式ol.style、数据格式ol.format、颜色ol.color、坐标系ol.proj、范围ol.extent、格网ol.tilegrid等

上图展示所用工具Protege(下载链接)中的OWLviz(需下载GraphViz,地址为https://graphviz.gitlab.io/_pages/Download/Download_windows.html