Openlayers API-介紹

通過前面幾篇文章的介紹后,對Openlayers的基本用法都有所了解了,從這篇開始主要來介紹API的使用,介紹完API后再進行源碼解析万俗。API按功能來分類,大概可以分成如下幾類:

  • Map Openlayers的核心組件饮怯,包含圖層闰歪、交互事件、UI控制元素等蓖墅。
  • View 視圖管理器库倘,主要用來管理地圖視圖,分辨率或旋轉论矾,中心教翩、投影、分辨率贪壳、縮放級別等饱亿。
  • Layers 圖層管理類,用來管理圖層信息闰靴。主要包括Tile彪笼,ImageVector蚂且,VectorTile等圖層配猫。
  • ControlsUI控制器,主要包括放大縮小控制膘掰、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其它組件捺弦。
    按照代碼文件夾可以分為olol.control孝扛,ol.events列吼,ol.formatol.format.filer苦始,ol.geom寞钥,ol.interactionol.layer陌选,ol.proj理郑,ol.renderol.render.canvas咨油,ol.render.webgl您炉,ol.sourceol.structs臼勉,ol.style邻吭,ol.tilegridol.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许赃,geoservermapserver来涨,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

WebGLTextureWebGLFramebuffer實例關聯(lián)的包裝器摄悯,簡化了初始化和渲染綁定簇抵。
個人博客

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市射众,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晃财,老刑警劉巖叨橱,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異断盛,居然都是意外死亡罗洗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門钢猛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伙菜,“玉大人,你說我怎么就攤上這事命迈》啡疲” “怎么了火的?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長淑倾。 經(jīng)常有香客問我馏鹤,道長,這世上最難降的妖魔是什么娇哆? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任湃累,我火速辦了婚禮,結果婚禮上碍讨,老公的妹妹穿的比我還像新娘治力。我一直安慰自己,他們只是感情好勃黍,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布宵统。 她就那樣靜靜地躺著,像睡著了一般溉躲。 火紅的嫁衣襯著肌膚如雪榜田。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天锻梳,我揣著相機與錄音箭券,去河邊找鬼。 笑死疑枯,一個胖子當著我的面吹牛辩块,可吹牛的內容都是我干的。 我是一名探鬼主播荆永,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼废亭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了具钥?” 一聲冷哼從身側響起豆村,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎骂删,沒想到半個月后掌动,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡宁玫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年粗恢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片欧瘪。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡眷射,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情妖碉,我是刑警寧澤涌庭,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站嗅绸,受9級特大地震影響脾猛,放射性物質發(fā)生泄漏。R本人自食惡果不足惜鱼鸠,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一猛拴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蚀狰,春花似錦愉昆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至扮授,卻和暖如春芳室,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背刹勃。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工堪侯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人荔仁。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓伍宦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親乏梁。 傳聞我的和親對象是個殘疾皇子次洼,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內容