leaflet學習路徑

本文是一個學習leaflet的索引說明文檔,因爲leaflet的官方文檔非常清晰詳實,所以,只要知道大體的方向,就能很好的自學。

一、leaflet優勢

前端地圖框架不少,leaflet憑藉簡單、易用、上手快、拓展多、輕量級等優點,一直深受歡迎,由github上的點星量就可見一斑。

1.簡單上手快

如果說,學習使用騰訊、百度、高德圖商的前端js api的難度是1,那麼學習使用leaflet的難度也是1。而且相對於封裝性很強的圖商js api,leaflet更靈活,更可配置,能加載更多的地圖,設置更豐富的效果。

leaflet不像openlayer那樣,過於嚴格遵守OGC WMS規範,對使用者的GIS背景知識要求過高。開發者即使對GIS知識所知甚少,也能用leaflet開發出漂亮的專題地圖,我就見過連經緯度都搞不明白的開發者使用leaflet開發地圖,效果做的還很漂亮。

如果不想跟GIS綁定太死,追求簡單的開發體驗和豐富的視覺效果,那麼可以選擇leaflet。

2. step-by-step教程豐富

打開leaflet的首頁,https://leafletjs.com/index.html

映入眼簾的就是一個簡單的地圖加載demo。

進入示例頁,https://leafletjs.com/examples.html。有各種各樣的教程。

Every tutorial here comes with step-by-step code explanation and is easy enough even for beginner JavaScript developers.

每個教程都帶有逐步的代碼說明,即使對於初學JavaScript的開發人員來說也很容易。

點擊Leaflet Quick Start Guide進去,https://leafletjs.com/examples/quick-start/

既可以參看step-by-step的引導,也可以點擊See this example stand-alone,在新窗口中把Quick Start - Leaflet.html頁面打開,並保存在本地。

保存的Quick Start - Leaflet.html是一個靜態html,可以直接在瀏覽器中打開,效果與網頁版(https://leafletjs.com/examples/quick-start/example.html)一樣。

用sublime打開Quick Start - Leaflet.html,即可查看前端代碼,非常方便,不用安裝各種框架引擎編譯,對初學者來說,簡直不要太友好。

如果覺得英文教程有點喫力,那麼Chrome瀏覽器一鍵翻譯值得擁有。

 

3.移動端友好

leaflet一大應用方向就是移動端開發,正如它的簡介說明。

an open-source JavaScript library for mobile-friendly interactive maps

一個開放源代碼的JavaScript庫,用於對移動端友好的交互式地圖。

leaflet可以很好的兼容IOS和Android系統,通過內置函數,可以獲取設備座標,並將地圖縮放到當前位置。可以用leaflet開發出一個簡單的H5頁面,嵌入到APP中。

官網上的demo:https://leafletjs.com/examples/mobile/

 

 

4.良好的兼容性

 

因爲leaflet使用人數多,所以很多熱門的前端框架,都對它進行了集成。例如vue。

如何在vue中擴展leaflet,可參見:https://github.com/vue-leaflet/Vue2Leaflet

但被vue集成的leaflet,缺失了很多拓展性,也可以直接在vue框架中引入leaflet.js。

 

 

5.線上demo多

leaflet官網:https://leafletjs.com/examples.html

github上的專題:https://github.com/Leaflet/

谷歌、百度,都能搜到很多使用leaflet製作地圖的例子。

繪製頁面、熱力圖、軌跡圖等等。

leaflet的地圖繪製頁面:https://github.com/Leaflet/Leaflet.draw,下載下來,打開html文件就可以直接使用,可以打開leaflet-draw-latest.html頁面進行索引。

帶吸附功能的繪製修改頁面,https://github.com/makinacorpus/Leaflet.Snap

但說實話,用leaflet來編寫幾何圖形繪製修改頁面,的確施繪體驗不是很好,比不上openlayer。

leaflet的強項還是在展示和交互上,而非在幾何圖形處理上。

leaflet聚類:https://github.com/Leaflet/Leaflet.markercluster

leaflet熱力圖:https://github.com/pa7/heatmap.js

leaflet軌跡圖:https://github.com/ewoken/Leaflet.MovingMarker

 

 

 

 

6.擴展多,效果炫酷

 

leaflet有豐富的擴展,可以自行查詢https://leafletjs.com/plugins.html

捲簾、熱力、軌跡、過渡、鑲嵌等,我們想要實現的地圖效果,幾乎都不需要自己寫函數,通過引用leaflet的插件都能實現。這極大降低了難度,只要關注交互效果即可,不用過於關心實現原理,這對不瞭解地圖原理的人來說是個福音。

 

leaflet也兼容arcgis、supermap等GIS軟件平臺,這對使用商業軟件的人來說,也是個好消息,因爲leaflet的易用性和可拓展性,是要強於arcgis和supermap的js api的。

 

除了專題地圖外,leaflet也可以用於遊戲地圖的開發,它還有嵌入視頻的功能。

 

 

 

 

二、leaflet入門

照着官網的教程,就能完成leaflet入門。

可以使用leaflet創建手機地圖、熱力圖、軌跡圖、動態圖等,leaflet在展示渲染上,有很好的的優勢。

但是leaflet在幾何對象的交互上,還是有點弱的,所以如果目的是提供繪製修改幾何對象的頁面,可以採用openlayer。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章