這個是真的學習筆記!不是教程html
基於openlayers 6.xjava
api不太好查,就基於騰訊課堂老胡的課作記錄。webpack
openlayers與arcgis jsapi最大的不一樣,喜歡用setXXX/getXXX這種很是具備「java/C++」風格的封裝方法來封裝對象的屬性,arcgis jsapi喜歡用相似於C#.NET同樣的屬性訪問;構造時則與arcgis jsapi同樣。es6
ol支持很是複雜的座標系(經過proj4支持),僅支持2d,支持使用npm&webpack進行包管理,系原生sdk(arcgis jsapi基於dojo封裝),ol5/6支持es6語法。web
ol支持二維數據格式不少,能夠是ogc規範的網絡GIS數據服務,能夠是獨立的數據文件等;ol支持空間分析擴展,例如d3/turf/jsts。npm
與arcgis jsapi不一樣,ol的map對象佔據了很是高的位置canvas
在ol5中,當Map模塊不足以支撐海量數據時,須要用WebGLMap模塊來加速。在ol6裏默認使用WebGL,不存在WebGLMap模塊。api
視圖的意思,負責管理頁面端的視圖參數:性能優化
ol的數據由layer管理、加載。
layer(圖層)是數據的容器,它負責把別處弄來的數據源(source)「翻譯」成map能渲染的東西。
常見圖層
常見數據源
有了數據,固然還要給數據加點嫁妝。由第2節得知,style(樣式)由圖層管理。
格網、導出pdf也是製圖的一部分
包括ol.interaction這個交互模塊對數據進行交互,也包括前端交互的效果(跳轉、限制等)
全部的座標系概念、定義有關的類均位於ol.proj模塊下。
其中,ol.proj.Projection類表明座標系統自己的定義,一般使用ProjectionLike字符串來表示。ProjectionLike的意思是相似"EPSG:XXXX"的字符串,EPSG這個專有詞必須大寫,XXXX表明的是座標系的WKID。
主要提供座標系的轉換等操做,默認是4326和3857的轉換。
須要引入proj4.js庫,經過調用其register方法爲頁面註冊一個ol自己沒有的座標系。
將proj4全局變量傳遞給register()方法後,ol即獲取一個自定義座標系。proj4全局變量經過defs()方法註冊一個座標系。
能夠從各類手段獲取第三和第四層數據,及要素、要素對應的幾何與屬性數據。
這裏確定有WebGL和canvas,可是我不太會也不太擅長。
這部分屬於定製、擴展的功能