openlayers官網地址:https://openlayers.org/
1. 自己學習openlayers 的背景
最近公司項目需要使用到GIS地圖爲依託做一些交互(如點 聚合分散,熱力圖,地圖下鑽,圖層疊加,點位圖,地圖軌跡,地圖圖層切換)等功能,於是我臨危受命不得不去學習openlayers。
2. 現在聊聊 openlayers 是什麼?發展歷程?優勢?怎麼使用?
2.1 openlayers 是幹什麼的?
要想在瀏覽器中顯示交互式的地圖很難,因爲瀏覽器默認的只是顯示靜態的圖片,如PNG、JPEG等格式,要交互式很難,因爲每一個點擊和縮放,地圖都要做出正確的反應。
OpenLayers是一個JavaScript 類庫包,主要是用於開發Web GIS客戶端。這就是說,要先在網頁中引用OpenLayers的JavaScript文件以及相應的css樣式表和資源,根據其提供的功能接口,直接調用。所以關鍵是瞭解其提供的接口,這是使用一個類庫的關鍵!如果想要優化相應的功能或者定製化,就要深入地瞭解其實現細節了,這需要有熟練的JavaScript功底。
OpenLayers支持Google Maps、Yahoo Map、微軟Virtual Earth等資源,可以通過WMS服務調用其它服務器上的空間數據,通過WFS服務調用空間服務。在操作方面,OpenLayers 除了可以在瀏覽器中實現地圖瀏覽的基本效果,如放大、縮小、平移等操作,進行選取面、選取線、要素選擇、圖層疊加等操作。
2.2 openlayers 發展歷史?
OpenLayers在2.13版本中引入了Web Processing Services(WPS)標準,可以對空間數據進行地理分析,例如緩衝區分析。
openlayers中文官方站於2012年8月成立,是由一羣openlayers愛好者共同維護的,內容包括openlayers中文API和中文幫助文檔,OpenLayers源碼分析 、 OpenLayers擴展開發 、OpenLayers相關工具 、OpenLayers 3D、 Openlayers Mobile
2.3 openlayers 相對比其他的前端框架有哪些優勢?
相對於另一個框架 OpenScales,OpenScales 是 OpenLayers 的 ActionScript 翻譯,需要 FlashPlayer 支持纔行,雖然基本現在瀏覽器都有這個插件,就好象他已經不是插件了,但是我比較反對插件,要使用一個功能,還要裝插件,不如原生的好。總之我覺得 OpenLayers 比較好用!
2.4 openlayers 怎麼使用?
vue npm 安裝包
npm install ol
如果您想試用OpenLayers而不下載任何內容(不建議用於生產環境),請在html頁面的開頭添加以下內容
<script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.3.1/build/ol.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.3.1/css/ol.css">
後面會詳細講解怎麼使用....盡請期待
3. 最後總結
如果你想在瀏覽器中進行Web GIS的開發,那麼OpenLayers可以大大減少你的工作量,讓你快速開發出應用。OpenLayers 6及後面版本,正在朝着3D等一些前沿領域前進,並支持更多的設備終端。
總之,要搞Web GIS,客戶端用OpenLayers開發絕對沒錯!
4. 寫在最後
基於現在前端流行的框架vue,後面的基礎介紹會以文檔說明穿插着vue去寫,儘量避免使用原生前端三件套去寫。常見的功能點會直接使用vue去寫。所有對vue有了解的會更加上手。
知識的海洋永遠沒有盡頭,最後因爲一腔熱血而一頭埋了進去。