從20年接手的專案,由於專案需要,當時只能內網開發,客戶對地圖有很多定製化功能,又要求免費,對比了幾家地圖引擎,最終還是選擇了使用openlayers;具體的各引擎的區別這裡就不贅述。 期間陸陸續續經歷幾個專案,最初的ol5現已更新到ol9 ,趁著有空對各版本的特性做一下整理說明,方便後續專案對ol版本對比和選擇。
版本 | 特性 |
2.x | 這是OpenLayers最早釋出的版本。它提供了基本的地圖顯示和互動功能,包括多種地圖投影支援、向量和柵格圖層、控制元件和工具等。2.x的版本在穩定性和功能上有所改進。 |
3.x | 這個版本引入了更多的功能和改進,包括更好的地圖投影支援、多種渲染器選項、更好的向量圖層支援、更靈活的樣式功能等。3.x還引入了模組化的架構,使開發和擴充套件更容易。 |
4.x | 這個版本加強了與向量資料的互動,引入了新的向量圖層型別,如向量瓦片圖層和向量網格圖層。它還引入了更多的圖層樣式選項,支援複雜的符號化和標籤渲染。 |
5.x | 這個版本引入了更多的渲染器選項和改進,包括WebGL渲染器和Canvas渲染器。它還增加了更多的圖層型別支援,如WMS圖層、WFS圖層和XYZ圖層。5.x還提供了更好的效能和更好的移動裝置支援。 |
6.x-7.x | 這些版本主要對OpenLayers的程式碼進行了重構和最佳化,以提高效能和可維護性。它們還引入了一些新的特性,如高解析度地圖顯示、動畫效果、地圖截圖和匯出等。 |
8.x | 這是OpenLayers次新版本。它繼續改進和擴充套件OpenLayers的功能和效能,包括更好的3D地圖支援、更豐富的資料來源支援、更好的地圖導航和互動等。8.x還更加註重可持續性和可訪問性。 |
9.x |
OpenLayers6.13 版本帶來了一些新特性:
- 對於每個圖層物件,你可以使用
layer.getData()
方法來獲取它的畫素資料 - 類
ol/style/Text
支援了富文字標籤,可以在一個標籤中用不同的字型、樣式了 - 模組
ol/proj
中,useGeographic()
和setUserProjection()
方法現在已經是官方 API 了,這兩個方法使得地理座標或區域性投影座標系的使用更簡單 - 改進提升了 WebGL 瓦片和點圖層
- 改善了
ol/Feature
的效能,當其沒有回撥時避免事件的建立 - 升級 geotiff.js 到第二版,修復了一些社群反饋的問題
- 修復了自動生成的 Typescript 型別
OpenLayers7.x升級了哪些功能
- 停止對IE的支援(OpenLayers7不再支援 Internet Explorer)
- (實驗性)webgl圖層新增支援line線條渲染。
- 但是經過博主實測,最新的OpenLayers7.5.2的webgl圖層並不支援線條渲染,要到OpenLayers8版本才支援線條。
- (實驗性)最佳化了webgl圖層渲染效能,減少了5M左右的包大小。
- (實驗性)webgl圖層渲染支援low level style api(低階樣式api),允許自定義webgl渲染樣式
- 新增了刻度圖層(Graticule)
- 可以為座標系渲染格網的圖層(目前僅支援 EPSG:4326)
- 新增了Link
- 支援mapbox資料來源和mapbox樣式
- 支援TIFF資料來源
- 支援webgl瓦片
- webgl圖層樣式新增加一個decay表示式
- 其他新增功能請參考官方釋出版本文件:https://github.com/openlayers/openlayers
OpenLayers8.x升級了哪些功能