记录OpenLayers学习 第一天

2020.11.17

OpenLayers开发基础

OpenLayers简介

OpenLayers是一个用于开发WebGIS客户端的JavaScript包,最初是由MetaCarta公司开发,通过BSD License发行,openlayers是一个开源的项目,其设计之意是为互联网客户端提供强大的地图展示功能,包括地理数据显示与相关操作,并具有灵活的扩展机制。

Openlayers3框架结构

Openlayers将抽象事物具体化为类,其核心类是Map、Layer、Source、View,几乎所有的动作都围绕这几个核心类展开,以实现地图记载和相关操作。OpenLayers3的体系架构示意图如下图所示

记录OpenLayers学习 第一天
由Openlayers3的体系架构示意图可见:把整个地图看作是一个容器(Map),核心为地图图层(Layer)、对应图层的数据源(Source)与矢量图层样式(Style)、地图表现相关的地图图层(View),除此之外容器中还有一些特别的层和控件(如地图交互操作控件),以及绑定在Map和Layer上的一系列待请求的事件。底层是OpenLayers的数据源,即Image、GML、KML、JSON、OGC服务资源等,均为source与format命名空间下的子类,这些数据经过Renderer渲染,显示在地图容器中的图层Layer上,其中,地图容器(Map)与图层(Layer)的渲染,提供了Canvas、DOM、WebGL三种渲染类型,分别由ol.renderer.Map与ol.renderer.Layer实现。

Openlayers3工作原理

通过五个方面描述:

  • 数据组织:要了解OpenLayers3的空间要素数据结构和组织,从表现形态上看,地理空间数据的矢量数据由点、线、面三类要素构成,将这些要素对应到Web客户端表现,需要抽象为对应的类,包括它们之间的关系。在OpenLayers3中,空间矢量数据的抽象模拟主要是有ol.geom.Geometry抽象基类下的几何对象子类实现。几何对象类,即