Openlayers API-介绍

通过前面几篇文章的介绍后,对Openlayers的基本用法都有所了解了,从这篇开始主要来介绍API的使用,介绍完API后再进行源码解析。API按功能来分类,大概可以分成如下几类:

  • Map Openlayers的核心组件,包含图层、交互事件、UI控制元素等。
  • View 视图管理器,主要用来管理地图视图,分辨率或旋转,中心、投影、分辨率、缩放级别等。
  • Layers 图层管理类,用来管理图层信息。主要包括TileImageVectorVectorTile等图层。
  • ControlsUI控制器,主要包括放大缩小控制、logo、属性等。
  • Interactions 交互操作,包括常用的拖拽、修改、绘制等交互操作。
  • Sources and formats 图层数据来源和格式转化,常用的图层数据来源包括Tile sourcesImage sourcesVector sourcesVector tile sources等。
  • Projections投影坐标系转换相关的操作,默认的投影坐标系统为EPSG:3857
  • Observable objects观察对象变化,源码中运用了很多的观察者模式。
  • Other components其它组件。
    按照代码文件夹可以分为olol.controlol.eventsol.formatol.format.filerol.geomol.interactionol.layerol.projol.renderol.render.canvasol.render.webglol.sourceol.structsol.styleol.tilegridol.webgl

ol

  • Map

OpenLayers的核心组件,用于地图渲染,包括地图视图,一个或更多的图层,必须包含在一个元素容器中。

  • array

扩展数组,提供了一些排序、查找等方法。

  • AssertionError

断言失败时引发的错误对象。这是一个ECMA-262错误。

  • Collection

JS数组的扩展,添加了方便操作的方法,添加或删除时将触事件。但要注意,数据中的对象变更时将不会触发事件。

  • Collection.CollectionEvent

Collection数组相关事件管理。

  • color

用短数组表示颜色。

  • colorlike

CanvasRenderingContext2D.fillStyle使用的颜色类型。

  • control

用于设置地图上的ui组件。

  • coordinate

坐标相关。

  • easing

动画相关,用于设置地图的动画。

  • events

管理事件相关的key

  • extent

设置地图当前的范围

  • Feature

用于具有几何图形和其它地理要素的矢量对象,类似于GeoJSON等矢量文件格式的要素。

  • featureloader

要素加载处理类。

  • Geolocation

HTML5中的定位功能,用于获取用户当前的坐标。

  • has

一个用于判断浏览器类型的工具集。

  • Image

自定义的一个图片对象ImageWrapper

  • ImageTile

图片切片,继承于Tile

  • interaction

地图交互相关

  • Kinetic

用于实现地图的运动惯性。

  • loadingstrategy

策略函数,用于加载所有功能的一个请求。

  • MapBrowserEvent

地图浏览器相关的事件,继承于MapEvent

  • MapEvent

地图相关事件管理器。

  • Object

抽象基类。通常用于创建子类,不能用于实例化,该类继承自Observable

  • Object.ObjectEvent

事件对象,继承于Event

  • Observable

抽象基类。通常用于创建子类,不能用于实例化,用于观察对象和事件的变化。继承自EventTarget

  • Overlay

添加html元素到地图上进行展示。跟control的区别就是control是固定定准,而Overlay是基于坐标点添加的,可以随地图移动的。

  • OverlayPositioning

Overlay位置相关。

  • pixel

包含两个元素的数组,表示一个像素。

  • proj

投影相关的方法全在该类下边。

  • render

地图渲染器。

  • size

用一个数组来表示大小,如[width,height]

  • sphere

获取长度,获取面试相关的方法在该js文件下。

  • Tile

切片的基类,继承自EventTarget

  • tilecoord

X,Y,Z组成的一个数组,表示一个切片的位置。

  • tilegrid

切片方格。

  • TileState

切片的状态,包括IDLE LOADING LOADED ERROR EMPTY

  • transform

二维变换矩阵数组。

  • util

工具类。

  • VectorTile

矢量切片,继承自Tile

  • View

地图上的一个二维视图。

  • webgl

webgl相关的方法。

  • xml

xml解析器

ol.control

  • Attribution

用于控制是否显示图层数据来源的相关属性,该控制器是默认包含在地图中的,默认显示在地图的右下角,通过.ol-attribution选择器可以修改样式。

  • Control

用于控制显示在地图上创建的DOM元素组件,默认是添加在ol-overlaycontainer-stopevent容器上的,也可以添加在其它外部元素上。

  • FullScreen

设置地图全屏。

  • MousePosition

显示鼠标光标处的二维坐标值,默认是显示在地图的右上角,通过.ol-mouse-position属性可以修改css值。

  • OverviewMap

创建一个缩略图的地图进行预览,有些人称之为鹰眼。

  • Rotate

添加一个按钮,点击后,将旋转的地图重置到0底的状态。

  • ScaleLine

显示比例尺控件。

  • Zoom

显示放大缩小按钮

  • ZoomSlider

显示放大缩小的比例尽控件。

  • ZoomToExtent

显示缩放到合力范围的按钮。

ol.events

  • Event

事件相关的封装类。

  • Target

事件目标对象,继承自Disposable

ol.format

  • EsriJSON

用于读取和写入EsriJSON格式的数据。继承自JSONFeature

  • FeatureFormat

抽象基类。通常用于创建子类,不能用于实例化。

  • filter

格式化数据的过滤器。

  • GeoJSON

用于读取和写入GeoJSON格式的数据。继承自JSONFeature

  • GML

用于读取和写入GML格式的数据。

  • GML2

用于读取和写入GML格式的数据。继承自GMLBase

  • GML3

用于读取和写入GML格式的数据。继承自GMLBase

  • GML32

用于读取和写入GML格式的数据。继承自GML3

  • GPX

用于读取和写入GPX格式的数据。继承自XMLFeature

  • IGC

加载*.igc格式的文件,继承自TextFeature

  • IIIFInfo

IIIF图像数据转换成IIIF切片数据。

  • JSONFeature

抽象基类。通常用于创建子类,不能用于实例化。继承自FeatureFormat

  • KML

用于读取和写入KML格式的数据。继承自XMLFeature

  • MVT

用于读取和写入Mapbox MVT格式的数据。继承自FeatureFormat

  • OSMXML

用于读取和写入OSMXML格式的数据。继承自XMLFeature

  • Polyline

用于读取和写入文本线条数据。继承自TextFeature

  • TextFeature

抽象基类。通常用于创建子类,不能用于实例化。继承自FeatureFormat

  • TopoJSON

用于读取和写入TopoJSON格式的数据。继承自JSONFeature

  • WFS

用于读取和写入WFS格式的数据。继承自XMLFeature

  • WKT

用于读取和写入WellKnownText格式的数据。继承自TextFeature

  • WMSCapabilities

用于读取WMS格式的数据。继承自XMLFeature

  • WMSGetFeatureInfo

获取WMS要素信息。

  • WMTSCapabilities

用于读取WMTS格式的数据。继承自XMLFeature

  • XML

读取XML数据的通用格式

  • XMLFeature

抽象基类。通常用于创建子类,不能用于实例化。

ol.format.filer

  • Bbox

固定边界相交的数据。继承自Filter

  • Contains

包含在几何体类,继承自Spatial

  • During

比较运算符,继承自Comparison

  • EqualTo

比较运算,判断相等。继承自ComparisonBinary

  • GreaterThan

比较运算,判断大于的数据。继承自ComparisonBinary

  • LessThanOrEqualTo

比较运算,判断大于等于的数据。继承自ComparisonBinary

  • Not

比较运算,不满足条件的数据。继承自Filter

  • NotEqualTo

比较运算,判断不相等的数据。继承自ComparisonBinary

  • Or

比较运算,继承自LogicalNary

  • Within

比较运算,在范围内。继承自Spatial

ol.geom

  • Circle

圆形几何体,继承自SimpleGeometry

  • Geometry

抽象基类。通常用于创建子类,不能用于实例化。继承自BaseObject

  • GeometryCollection

用于存储几何体的数组,继承自Geometry

  • LinearRing

线条几何体,继承自SimpleGeometry

  • LineString

线条几何体,继承自SimpleGeometry

  • MultiLineString

折线几何体,继承自SimpleGeometry

  • MultiPoint

多点几何体,继承自SimpleGeometry

  • MultiPolygon

多个点的多边形几何体,继承自SimpleGeometry

  • Point

单个点的几何体,继承自SimpleGeometry

  • Polygon

多边形几何体,继承自SimpleGeometry

  • SimpleGeometry

抽象基类。通常用于创建子类,不能用于实例化。继承自Geometry

ol.interaction

  • DoubleClickZoom

双击放大的操作,继承自Interaction

  • DragAndDrop

拖拽操作,继承自Interaction

  • DragBox

允许用户通过在地图上单击并拖动来绘制矢量框,继承自PointerInteraction

  • DragPan

允许用户通过拖动地图来平移地图,继承自PointerInteraction

  • DragRotate

允许用户通过单击并拖动地图来旋转地图,继承自PointerInteraction

  • DragRotateAndZoom

允许用户通过单击并拖动地图来旋转地图和缩放地图,继承自`PointerInteraction

  • DragZoom

允许用户通过单击并拖动地图来缩放地图,继承自DragBox

  • Draw

绘制几何图形,继承自PointerInteraction

  • Extent

允许用户通过在地图上单击并拖动来绘制矢量框。,继承自PointerInteraction

  • Interaction

抽象类,用于创建子类,继承自BaseObject

  • KeyboardPan

通过按键来移动地图,继承自Interaction

  • KeyboardZoom

通过按键来缩放地图,继承自Interaction

  • Modify

允许修改要素,继承自PointerInteraction

  • MouseWheelZoom

鼠标滚轮事件,允许滑动鼠标滚轮来对地图进行缩放,继承自Interaction

  • PinchRotate

手势旋转地图,继承自PointerInteraction

  • PinchZoom

手势缩放地图,继承自PointerInteraction

  • Select

选择矢量数据的交互事件,继承自Interaction

  • Snap

捕捉事件,继承自PointerInteraction

  • Translate

移动事件,继承自PointerInteraction

  • ol.layer
  • BaseLayer

图层抽象类,用于创建子类,继承自BaseObject

  • BaseImageLayer

图片图层基类,继承自Layer

  • BaseTileLayer

切片图层基类,继承自Layer

  • BaseVectorLayer

矢量图层基类,继承自Layer

  • Graticule

渲染坐标线网格,继承自VectorLayer

  • LayerGroup

图层组,继承自BaseLayer

  • Heatmap

热力图图层,继承自VectorLayer

  • ImageLayer

图片图层,继承自BaseImageLayer

  • Layer

派生所有层类型的基类,继承自BaseLayer

  • TileLayer

切片图层,继承自BaseTileLayer

  • VectorLayer

矢量图层,继承自BaseVectorLayer

  • VectorImageLayer

矢量图片图层,继承自BaseVectorLayer

  • VectorTileLayer

矢量切片图层,继承自BaseVectorLayer

ol.proj

-### proj4
投影转换函数

  • Projection

投影定义类,用于创建投影对象。

-#ol.render

  • canvas

canvas渲染相关的函数和变量。

  • RenderEvent

渲染事件,继承自Event

  • RenderFeature

要素渲染类。

  • VectorContext

绘制几何图形的上下文。

ol.render.canvas

  • CanvasImmediateRenderer

将几何图形绘制到html的画布上,继承自VectorContext

  • ImageLayer

canvas渲染图片图层。

  • TileLayer

canvas渲染切片图层。

  • VectorImageLayer

canvas渲染矢量图片图层。

  • VectorLayer

canvas渲染矢量图层。

  • VectorTileLayer

canvas渲染矢量切片图层。

  • Composite

canvas渲染器

ol.render.webgl

  • WebGLLayerRenderer

WebGL图层,继承自LayerRenderer

  • WebGLPointsLayerRenderer

使用WebGL图层加载点坐标。继承自WebGLLayerRenderer

ol.source

  • BingMaps

Bing地图数据,继承自TileImage

  • CartoDB

CartoDB地图数据,继承自XYZ

  • Cluster

矢量数据,继承自VectorSource

  • IIIF

IIIF图片数据,继承自TileImage

  • Image

图片数据基类,用于创建子类,继承自Source

  • Image.ImageSourceEvent

图片数据事件管理器,继承自Event

  • ImageArcGISRest

ArcGIS Rest服务数据,继承自ImageSource

  • ImageCanvas

使用canvas创建的图片数据,继承自ImageSource

  • ImageMapGuide

来自Mapguide服务的数据,继承自ImageSource

  • ImageStatic

静态图片数据,继承自ImageSource
-### ImageWMS
WMS服务的数据,继承自ImageSource

  • OSM

来自OpenStreetMap切片服务的数据,继承自XYZ

  • Raster

删格数据,继承自ImageSource

  • Raster.RasterSourceEvent

删除数据事件管理类,继承自Event

  • Source

抽象类,用于创建子类,继承自BaseObject

  • Tile

切片数据,抽象类,用于创建子类,继承自Source

  • Tile.TileSourceEvent

切片数据事件管理类,继承自Event

  • TileArcGISRest

ArcGIS Rest服务的切片数据,继承自TileImage

  • TileDebug

用于显示切片区域,方便调试,继承自Tile

  • TileImage

切片删格图片,继承自UrlTile

  • TileJSON

json格式的切片数据,继承自TileImage

  • TileWMS

WMS服务的切片数据,继承自TileImage

  • UrlTile

使用地址加载的切片数据,继承自TileSource

  • UTFGrid

从TileJSON格式加载的UTFGrid数据。,继承自TileSource

  • Vector

矢量数据,继承自Source

  • Vector.VectorSourceEvent

矢量数据事件管理器,继承自Event

  • VectorTile

矢量切片数据,继承自UrlTile

  • WMSServerType

WMS服务类型,包括carmentaservergeoservermapserverqgis

  • WMTS

WMTS服务的数据,继承自TileImage

  • XYZ

使用X,Y,Z坐标加载的地图数据,继承自TileImage

  • Zoomify

具有缩放的数据格式,继承自TileImage

ol.structs

  • LRUCache

实现缓存功能。

  • ol.style
  • Circle

设置矢量图层的圆形样式,继承自RegularShape

  • Fill

设备填充样式。

  • Icon

设置图标样式,继承自ImageStyle

  • IconImageCache

设置图片缓存

  • ImageStyle

抽象类,用于创建子类,设置图片样式。

  • RegularShape

为矢量图形设置常规形状样式,继承自ImageStyle

  • Stroke

设置边框样式。

  • Style

矢量图形渲染样式的容器。

  • Text

设置矢量图形的文本样式。

ol.tilegrid

  • TileGrid

用于访问删格数据。

  • WMTS

为访问WMTS切片图片服务器的数据源设置删格模式,继承自TileGrid

ol.webgl

  • Buffer

webgl缓冲区。

  • Helper

webgl API的封装。

  • PostProcessingPass

用于处理自定义的着色器。

  • RenderTarget

WebGLTextureWebGLFramebuffer实例关联的包装器,简化了初始化和渲染绑定。
个人博客

推荐阅读更多精彩内容