愿你出走半生,归来仍是少年!
OpenLayer作为一个声名赫赫的Gis开源JavaScript库,贯彻了面向对象的思想。本篇文章从其基础对象进行认识。
1.BaseObject(基础对象)
import BaseObject from 'ol/Object'
Openlayer包含一个基础的对象"ol/Object"。它的一个抽象基类,通常只用于创建子类且不会在应用程序中实例化。ol中大多数重要的类都继承自它。
其子类构成如下:
2.Collection(集合)
import Collection from 'ol/Collection';
Js中Array的一个标准扩展,为ol中的操作添加了一些便利的方法。
3.Control(控件)
import Control from 'ol/control/Control';
控件是一个可见的小部件,具有一个位于屏幕上固定位置的DOM元素。ol拥有开箱即用的控件以及可自定义的控件,大致如下:
4.Feature(矢量要素)
import Feature from 'ol/Feature';
一个包含几何属性和其他类型属性的描述地理特征的矢量对象,如GeoJSON。矢量要素可以通过setStyle单独设置样式;否则,将会使用要素所在矢量图层的默认样式。
5.Geolocation(H5地理定位)
import Geolocation from 'ol/Geolocation';
提供HTML5地理定位功能的Helper类。Geolocation API用于定位用户的位置。
6.Geometry(几何图形)
import Geometry from 'ol/geom/Geometry';
几何图形的基类,通常用于子类创建的继承用。包含图形集合和简单集合图形两大类,具体如下:
7.Interaction(操作)
import Interaction from 'ol/interaction/Interaction';
抽象基类,通常用于子类创建的继承用,其子类包含了在地图上的所有操作基础类型,具体如下:
8.BaseLayer(图层)
import BaseLayer from 'ol/layer/Base';
图层的抽象基类,一般用于子类创建的继承用。承载数据源进行地图上的数据展示,大体分为栅格和矢量。 具体结构如下:
9.Overlay(覆盖物)
import Overlay from 'ol/Overlay';
在地图上显示并附加到单个地图位置的元素,控件起始也算是一种。
10.PluggableMap
import PluggableMap from 'ol/PluggableMap';
一个可扩展的地图,是Map的基类,Map作为ol的核心对象,也是与用户交互和呈现数据信息的核心承载体。
11.Source(数据源)
import Source from 'ol/source/Source';
数据源的抽象基类,一般用于子类创建时的继承用。所有的Source子类其作用均为承载数据来源或数据资源,集合对象的呈现手段(Layer等)加载到地图中进行展示。
12.View(视图)
import View from 'ol/View';
View是表示在地图上的一个2d的视图,它可以定义或改变地图的中心、分辨率、旋转角等。视图有一个投影,投影决定了坐标系统,它的单位决定了分辨率的单位(每像素的投影单位)。默认投影为Web Mercator (EPSG:3857)。
以上12个对象为ol开发中常用或者是不可避免的核心单元,望共勉!