通過前面幾篇文章的介紹后,對Openlayers
的基本用法都有所了解了,從這篇開始主要來介紹API
的使用,介紹完API
后再進行源碼解析万俗。API
按功能來分類,大概可以分成如下幾類:
-
Map
Openlayers
的核心組件饮怯,包含圖層闰歪、交互事件、UI控制元素等蓖墅。 - View 視圖管理器库倘,主要用來管理地圖視圖,分辨率或旋轉论矾,中心教翩、投影、分辨率贪壳、縮放級別等饱亿。
-
Layers 圖層管理類,用來管理圖層信息闰靴。主要包括
Tile
彪笼,Image
,Vector
蚂且,VectorTile
等圖層配猫。 -
Controls
UI
控制器,主要包括放大縮小控制膘掰、logo章姓、屬性等。 - Interactions 交互操作识埋,包括常用的拖拽、修改零渐、繪制等交互操作窒舟。
-
Sources and formats 圖層數(shù)據(jù)來源和格式轉化,常用的圖層數(shù)據(jù)來源包括
Tile sources
诵盼,Image sources
惠豺,Vector sources
银还,Vector tile sources
等。 -
Projections投影坐標系轉換相關的操作洁墙,默認的投影坐標系統(tǒng)為
EPSG:3857
蛹疯。 - Observable objects觀察對象變化,源碼中運用了很多的觀察者模式热监。
-
Other components其它組件捺弦。
按照代碼文件夾可以分為ol
,ol.control
孝扛,ol.events
列吼,ol.format
,ol.format.filer
苦始,ol.geom
寞钥,ol.interaction
,ol.layer
陌选,ol.proj
理郑,ol.render
,ol.render.canvas
咨油,ol.render.webgl
您炉,ol.source
,ol.structs
臼勉,ol.style
邻吭,ol.tilegrid
,ol.webgl
宴霸。
ol
-
Map
OpenLayers
的核心組件囱晴,用于地圖渲染,包括地圖視圖瓢谢,一個或更多的圖層畸写,必須包含在一個元素容器中。
-
array
擴展數(shù)組氓扛,提供了一些排序盾舌、查找等方法。
-
AssertionError
斷言失敗時引發(fā)的錯誤對象汁雷。這是一個ECMA-262錯誤介时。
-
Collection
JS數(shù)組的擴展,添加了方便操作的方法蒜埋,添加或刪除時將觸事件淫痰。但要注意,數(shù)據(jù)中的對象變更時將不會觸發(fā)事件整份。
-
Collection.CollectionEvent
Collection
數(shù)組相關事件管理待错。
-
color
用短數(shù)組表示顏色籽孙。
-
colorlike
CanvasRenderingContext2D.fillStyle
使用的顏色類型。
-
control
用于設置地圖上的ui組件火俄。
-
coordinate
坐標相關犯建。
-
easing
動畫相關,用于設置地圖的動畫瓜客。
-
events
管理事件相關的key
-
extent
設置地圖當前的范圍
-
Feature
用于具有幾何圖形和其它地理要素的矢量對象适瓦,類似于GeoJSON
等矢量文件格式的要素。
-
featureloader
要素加載處理類忆家。
-
Geolocation
HTML5
中的定位功能犹菇,用于獲取用戶當前的坐標。
-
has
一個用于判斷瀏覽器類型的工具集芽卿。
-
Image
自定義的一個圖片對象ImageWrapper
-
ImageTile
圖片切片揭芍,繼承于Tile
-
interaction
地圖交互相關
-
Kinetic
用于實現(xiàn)地圖的運動慣性。
-
loadingstrategy
策略函數(shù)卸例,用于加載所有功能的一個請求称杨。
-
MapBrowserEvent
地圖瀏覽器相關的事件,繼承于MapEvent
-
MapEvent
地圖相關事件管理器筷转。
-
Object
抽象基類姑原。通常用于創(chuàng)建子類,不能用于實例化呜舒,該類繼承自Observable
锭汛。
-
Object.ObjectEvent
事件對象,繼承于Event
-
Observable
抽象基類袭蝗。通常用于創(chuàng)建子類唤殴,不能用于實例化,用于觀察對象和事件的變化到腥。繼承自EventTarget
朵逝。
-
Overlay
添加html
元素到地圖上進行展示。跟control
的區(qū)別就是control
是固定定準乡范,而Overlay
是基于坐標點添加的配名,可以隨地圖移動的。
-
OverlayPositioning
Overlay
位置相關晋辆。
-
pixel
包含兩個元素的數(shù)組渠脉,表示一個像素。
-
proj
投影相關的方法全在該類下邊瓶佳。
-
render
地圖渲染器连舍。
-
size
用一個數(shù)組來表示大小,如[width,height]
涩哟。
-
sphere
獲取長度索赏,獲取面試相關的方法在該js
文件下。
-
Tile
切片的基類贴彼,繼承自EventTarget
潜腻。
-
tilecoord
由X
,Y
,Z
組成的一個數(shù)組,表示一個切片的位置器仗。
-
tilegrid
切片方格融涣。
-
TileState
切片的狀態(tài),包括IDLE
LOADING
LOADED
ERROR
EMPTY
-
transform
二維變換矩陣數(shù)組精钮。
-
util
工具類威鹿。
-
VectorTile
矢量切片,繼承自Tile
轨香。
-
View
地圖上的一個二維視圖忽你。
-
webgl
webgl
相關的方法。
-
xml
xml
解析器
ol.control
-
Attribution
用于控制是否顯示圖層數(shù)據(jù)來源的相關屬性臂容,該控制器是默認包含在地圖中的科雳,默認顯示在地圖的右下角,通過.ol-attribution
選擇器可以修改樣式脓杉。
-
Control
用于控制顯示在地圖上創(chuàng)建的DOM元素組件糟秘,默認是添加在ol-overlaycontainer-stopevent
容器上的,也可以添加在其它外部元素上球散。
-
FullScreen
設置地圖全屏尿赚。
-
MousePosition
顯示鼠標光標處的二維坐標值,默認是顯示在地圖的右上角蕉堰,通過.ol-mouse-position
屬性可以修改css值凌净。
-
OverviewMap
創(chuàng)建一個縮略圖的地圖進行預覽,有些人稱之為鷹眼嘁灯。
-
Rotate
添加一個按鈕泻蚊,點擊后,將旋轉的地圖重置到0底的狀態(tài)丑婿。
-
ScaleLine
顯示比例尺控件性雄。
-
Zoom
顯示放大縮小按鈕
-
ZoomSlider
顯示放大縮小的比例盡控件。
-
ZoomToExtent
顯示縮放到合力范圍的按鈕羹奉。
ol.events
-
Event
事件相關的封裝類秒旋。
-
Target
事件目標對象,繼承自Disposable
诀拭。
ol.format
-
EsriJSON
用于讀取和寫入EsriJSON
格式的數(shù)據(jù)迁筛。繼承自JSONFeature
。
-
FeatureFormat
抽象基類耕挨。通常用于創(chuàng)建子類细卧,不能用于實例化尉桩。
-
filter
格式化數(shù)據(jù)的過濾器。
-
GeoJSON
用于讀取和寫入GeoJSON
格式的數(shù)據(jù)贪庙。繼承自JSONFeature
蜘犁。
-
GML
用于讀取和寫入GML
格式的數(shù)據(jù)。
-
GML2
用于讀取和寫入GML
格式的數(shù)據(jù)止邮。繼承自GMLBase
这橙。
-
GML3
用于讀取和寫入GML
格式的數(shù)據(jù)。繼承自GMLBase
导披。
-
GML32
用于讀取和寫入GML
格式的數(shù)據(jù)屈扎。繼承自GML3
。
-
GPX
用于讀取和寫入GPX
格式的數(shù)據(jù)撩匕。繼承自XMLFeature
鹰晨。
-
IGC
加載*.igc
格式的文件,繼承自TextFeature
滑沧。
-
IIIFInfo
將IIIF
圖像數(shù)據(jù)轉換成IIIF
切片數(shù)據(jù)并村。
-
JSONFeature
抽象基類。通常用于創(chuàng)建子類滓技,不能用于實例化哩牍。繼承自FeatureFormat
-
KML
用于讀取和寫入KML
格式的數(shù)據(jù)。繼承自XMLFeature
-
MVT
用于讀取和寫入Mapbox MVT
格式的數(shù)據(jù)令漂。繼承自FeatureFormat
-
OSMXML
用于讀取和寫入OSMXML
格式的數(shù)據(jù)膝昆。繼承自XMLFeature
-
Polyline
用于讀取和寫入文本線條數(shù)據(jù)。繼承自TextFeature
-
TextFeature
抽象基類叠必。通常用于創(chuàng)建子類荚孵,不能用于實例化。繼承自FeatureFormat
-
TopoJSON
用于讀取和寫入TopoJSON
格式的數(shù)據(jù)纬朝。繼承自JSONFeature
收叶。
-
WFS
用于讀取和寫入WFS
格式的數(shù)據(jù)。繼承自XMLFeature
共苛。
-
WKT
用于讀取和寫入WellKnownText
格式的數(shù)據(jù)判没。繼承自TextFeature
。
-
WMSCapabilities
用于讀取WMS
格式的數(shù)據(jù)澄峰。繼承自XMLFeature
魂毁。
-
WMSGetFeatureInfo
獲取WMS
要素信息酣胀。
-
WMTSCapabilities
用于讀取WMTS
格式的數(shù)據(jù)丸升。繼承自XMLFeature
夷狰。
-
XML
讀取XML數(shù)據(jù)的通用格式
-
XMLFeature
抽象基類土至。通常用于創(chuàng)建子類,不能用于實例化。
ol.format.filer
-
Bbox
固定邊界相交的數(shù)據(jù)。繼承自Filter
黍图。
-
Contains
包含在幾何體類,繼承自Spatial
褒墨。
-
During
比較運算符,繼承自Comparison
郁妈。
-
EqualTo
比較運算浑玛,判斷相等。繼承自ComparisonBinary
-
GreaterThan
比較運算圃庭,判斷大于的數(shù)據(jù)锄奢。繼承自ComparisonBinary
-
LessThanOrEqualTo
比較運算,判斷大于等于的數(shù)據(jù)剧腻。繼承自ComparisonBinary
-
Not
比較運算拘央,不滿足條件的數(shù)據(jù)。繼承自Filter
-
NotEqualTo
比較運算书在,判斷不相等的數(shù)據(jù)灰伟。繼承自ComparisonBinary
-
Or
比較運算,繼承自LogicalNary
-
Within
比較運算儒旬,在范圍內栏账。繼承自Spatial
。
ol.geom
-
Circle
圓形幾何體栈源,繼承自SimpleGeometry
-
Geometry
抽象基類挡爵。通常用于創(chuàng)建子類,不能用于實例化甚垦。繼承自BaseObject
-
GeometryCollection
用于存儲幾何體的數(shù)組茶鹃,繼承自Geometry
涣雕。
-
LinearRing
線條幾何體,繼承自SimpleGeometry
-
LineString
線條幾何體闭翩,繼承自SimpleGeometry
-
MultiLineString
折線幾何體挣郭,繼承自SimpleGeometry
-
MultiPoint
多點幾何體,繼承自SimpleGeometry
-
MultiPolygon
多個點的多邊形幾何體疗韵,繼承自SimpleGeometry
-
Point
單個點的幾何體兑障,繼承自SimpleGeometry
-
Polygon
多邊形幾何體,繼承自SimpleGeometry
-
SimpleGeometry
抽象基類蕉汪。通常用于創(chuàng)建子類流译,不能用于實例化。繼承自Geometry
ol.interaction
-
DoubleClickZoom
雙擊放大的操作肤无,繼承自Interaction
先蒋。
-
DragAndDrop
拖拽操作,繼承自Interaction
宛渐。
-
DragBox
允許用戶通過在地圖上單擊并拖動來繪制矢量框,繼承自PointerInteraction
眯搭。
-
DragPan
允許用戶通過拖動地圖來平移地圖窥翩,繼承自PointerInteraction
。
-
DragRotate
允許用戶通過單擊并拖動地圖來旋轉地圖鳞仙,繼承自PointerInteraction
寇蚊。
-
DragRotateAndZoom
允許用戶通過單擊并拖動地圖來旋轉地圖和縮放地圖,繼承自`PointerInteraction
-
DragZoom
允許用戶通過單擊并拖動地圖來縮放地圖棍好,繼承自DragBox
仗岸。
-
Draw
繪制幾何圖形,繼承自PointerInteraction
借笙。
-
Extent
允許用戶通過在地圖上單擊并拖動來繪制矢量框扒怖。,繼承自PointerInteraction
业稼。
-
Interaction
抽象類盗痒,用于創(chuàng)建子類,繼承自BaseObject
低散。
-
KeyboardPan
通過按鍵來移動地圖俯邓,繼承自Interaction
。
-
KeyboardZoom
通過按鍵來縮放地圖熔号,繼承自Interaction
稽鞭。
-
Modify
允許修改要素,繼承自PointerInteraction
引镊。
-
MouseWheelZoom
鼠標滾輪事件朦蕴,允許滑動鼠標滾輪來對地圖進行縮放篮条,繼承自Interaction
。
-
PinchRotate
手勢旋轉地圖梦重,繼承自PointerInteraction
兑燥。
-
PinchZoom
手勢縮放地圖,繼承自PointerInteraction
琴拧。
-
Select
選擇矢量數(shù)據(jù)的交互事件降瞳,繼承自Interaction
。
-
Snap
捕捉事件蚓胸,繼承自PointerInteraction
挣饥。
-
Translate
移動事件,繼承自PointerInteraction
沛膳。
- ol.layer
-
BaseLayer
圖層抽象類扔枫,用于創(chuàng)建子類,繼承自BaseObject
锹安。
-
BaseImageLayer
圖片圖層基類短荐,繼承自Layer
-
BaseTileLayer
切片圖層基類,繼承自Layer
-
BaseVectorLayer
矢量圖層基類叹哭,繼承自Layer
-
Graticule
渲染坐標線網(wǎng)格忍宋,繼承自VectorLayer
。
-
LayerGroup
圖層組风罩,繼承自BaseLayer
糠排。
-
Heatmap
熱力圖圖層,繼承自VectorLayer
超升。
-
ImageLayer
圖片圖層入宦,繼承自BaseImageLayer
。
-
Layer
派生所有層類型的基類室琢,繼承自BaseLayer
乾闰。
-
TileLayer
切片圖層,繼承自BaseTileLayer
研乒。
-
VectorLayer
矢量圖層汹忠,繼承自BaseVectorLayer
。
-
VectorImageLayer
矢量圖片圖層雹熬,繼承自BaseVectorLayer
宽菜。
-
VectorTileLayer
矢量切片圖層,繼承自BaseVectorLayer
竿报。
ol.proj
-### proj4
投影轉換函數(shù)
-
Projection
投影定義類铅乡,用于創(chuàng)建投影對象。
-#ol.render
-
canvas
canvas
渲染相關的函數(shù)和變量烈菌。
-
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
地圖數(shù)據(jù)嚎朽,繼承自TileImage
铺纽。
-
CartoDB
CartoDB
地圖數(shù)據(jù),繼承自XYZ
哟忍。
-
Cluster
矢量數(shù)據(jù)狡门,繼承自VectorSource
。
-
IIIF
IIIF
圖片數(shù)據(jù)锅很,繼承自TileImage
融撞。
-
Image
圖片數(shù)據(jù)基類,用于創(chuàng)建子類粗蔚,繼承自Source
。
-
Image.ImageSourceEvent
圖片數(shù)據(jù)事件管理器饶火,繼承自Event
鹏控。
-
ImageArcGISRest
ArcGIS Rest
服務數(shù)據(jù),繼承自ImageSource
肤寝。
-
ImageCanvas
使用canvas
創(chuàng)建的圖片數(shù)據(jù)当辐,繼承自ImageSource
。
-
ImageMapGuide
來自Mapguide
服務的數(shù)據(jù)鲤看,繼承自ImageSource
缘揪。
-
ImageStatic
靜態(tài)圖片數(shù)據(jù),繼承自ImageSource
义桂。
-### ImageWMS
WMS
服務的數(shù)據(jù)找筝,繼承自ImageSource
。
-
OSM
來自OpenStreetMap
切片服務的數(shù)據(jù)慷吊,繼承自XYZ
袖裕。
-
Raster
刪格數(shù)據(jù),繼承自ImageSource
溉瓶。
-
Raster.RasterSourceEvent
刪除數(shù)據(jù)事件管理類急鳄,繼承自Event
谤民。
-
Source
抽象類,用于創(chuàng)建子類疾宏,繼承自BaseObject
张足。
-
Tile
切片數(shù)據(jù),抽象類坎藐,用于創(chuàng)建子類为牍,繼承自Source
。
-
Tile.TileSourceEvent
切片數(shù)據(jù)事件管理類顺饮,繼承自Event
吵聪。
-
TileArcGISRest
ArcGIS Rest
服務的切片數(shù)據(jù),繼承自TileImage
兼雄。
-
TileDebug
用于顯示切片區(qū)域吟逝,方便調試,繼承自Tile
赦肋。
-
TileImage
切片刪格圖片块攒,繼承自UrlTile
。
-
TileJSON
json
格式的切片數(shù)據(jù)佃乘,繼承自TileImage
囱井。
-
TileWMS
WMS
服務的切片數(shù)據(jù),繼承自TileImage
趣避。
-
UrlTile
使用地址加載的切片數(shù)據(jù)庞呕,繼承自TileSource
。
-
UTFGrid
從TileJSON格式加載的UTFGrid數(shù)據(jù)程帕。住练,繼承自TileSource
。
-
Vector
矢量數(shù)據(jù)愁拭,繼承自Source
讲逛。
-
Vector.VectorSourceEvent
矢量數(shù)據(jù)事件管理器,繼承自Event
岭埠。
-
VectorTile
矢量切片數(shù)據(jù)盏混,繼承自UrlTile
。
-
WMSServerType
WMS
服務類型惜论,包括carmentaserver
许赃,geoserver
,mapserver
来涨,qgis
图焰。
-
WMTS
WMTS
服務的數(shù)據(jù),繼承自TileImage
蹦掐。
-
XYZ
使用X,Y,Z
坐標加載的地圖數(shù)據(jù)技羔,繼承自TileImage
僵闯。
-
Zoomify
具有縮放的數(shù)據(jù)格式,繼承自TileImage
藤滥。
ol.structs
-
LRUCache
實現(xiàn)緩存功能鳖粟。
- ol.style
-
Circle
設置矢量圖層的圓形樣式,繼承自RegularShape
拙绊。
-
Fill
設備填充樣式向图。
-
Icon
設置圖標樣式,繼承自ImageStyle
标沪。
-
IconImageCache
設置圖片緩存
-
ImageStyle
抽象類榄攀,用于創(chuàng)建子類,設置圖片樣式金句。
-
RegularShape
為矢量圖形設置常規(guī)形狀樣式檩赢,繼承自ImageStyle
。
-
Stroke
設置邊框樣式违寞。
-
Style
矢量圖形渲染樣式的容器贞瞒。
-
Text
設置矢量圖形的文本樣式。
ol.tilegrid
-
TileGrid
用于訪問刪格數(shù)據(jù)趁曼。
-
WMTS
為訪問WMTS
切片圖片服務器的數(shù)據(jù)源設置刪格模式军浆,繼承自TileGrid
。
ol.webgl
-
Buffer
webgl
緩沖區(qū)挡闰。
-
Helper
對webgl API
的封裝乒融。
-
PostProcessingPass
用于處理自定義的著色器。
-
RenderTarget
是WebGLTexture
和WebGLFramebuffer
實例關聯(lián)的包裝器摄悯,簡化了初始化和渲染綁定簇抵。
個人博客