1. 程式人生 > >五分鐘學GIS | 快速認識Leaflet

五分鐘學GIS | 快速認識Leaflet

Leaflet是近幾年新興的廣受歡迎的前端地圖視覺化開源框架,在Github上有高達19000多顆星,比老牌開源地圖框架OpenLayers還要多哦,其火熱程度可見一斑。Leaflet以簡單易用高效為開發理念,設計輕巧靈活,非常易於理解和上手,這也是它被眾多開發喜愛的原因之一。

Leaflet雖然設計簡單,易於上手,可是其麻雀雖小,五臟俱全,能實現的效果和功能一點也不輸其他前端地圖框架。並且由於其靈活的可擴充套件性,和紛繁眾多的外掛,足以滿足各種各樣的功能需求。

移動端友好

Leaflet是輕量級、跨平臺的,其壓縮庫包只有38kB,對移動端友好,並且PC上的所有效果均能在移動端上無縫呈現。 它能夠輕鬆的在iPad、iPhone 和Android等手機上構建全視口應用。提供特有的locate介面讓開發者能夠輕鬆的獲取到當前的定位資訊並使用它。

豐富的視覺化效果

Leaflet可以輕鬆的構建自定義marker在圖上展示,支援圖上視訊;

Leaflet提供的L.Icon 介面可以設定圖示圖片和陰影圖片,讓圖示更加立體,並且設定錨點的位置,讓圖示定位更加精準;通過L.ImageOverlays 介面你可以像新增一個地圖圖層一樣新增視訊檔案並在地圖上展示。此外還有很多諸如時空動畫、熱力圖、聚合點等效果都可以輕鬆實現。
其和SuperMap iClient 9D for Leaflet結合後,同時支援向量分塊圖層,讓你輕鬆配置想要的地圖風格。向量分塊屬於客戶端的向量地圖,地圖的渲染全部都在客戶端完成。伺服器提供地圖向量資料,以及地圖的渲染風格屬性資訊,客戶端負責地圖渲染出來,這樣就可以輕鬆修改地圖風格而不必關心地圖伺服器和服務端快取。

出眾的渲染效能

Leaflet採用html5實現高效能渲染,地圖呈現細膩流暢,和SuperMap iClient 9D for Leaflet結合可以輕鬆渲染10萬以上的點資料。

多種資料格式支援

Leaflet支援市面上大部分服務標準,讓你在專案對接上無後顧之憂。GeoJSON是一種用來web傳輸編碼各種地理資料的結構格式。Leaflet提供L.geoJSON介面可以輕鬆的對GeoJSON進行編碼轉換並呈現在地圖上;對OGC服務也支援非常全面,基於 L.TileLayer介面可以對接WMS、WMTS等服務。同時可以對L.TileLayer進行擴充套件構建自定義圖層。

靈活的可擴充套件性—與SuperMap結合

Leaflet受歡迎的主要因素之一就是其靈活的可擴充套件性,這讓其在社群上擁有眾多的擴充套件外掛,滿足各種功能需求,SuperMap iClient 9D產品也對其做了全面對接,並且被Leaflet收錄為官方推薦外掛。
使用 SuperMap iClient 9D for Leaflet可以在Leaflet上輕鬆構建SuperMap圖層,並且使用SuperMap提供的諸如網路分析、空間分析、交通換乘等各種服務,SuperMap 9D還新增實時資料服務、大資料分析服務。訪問http://iclient.supermap.io或在Leaflet官網外掛頁即可獲取SuperMap iClient for Leaflet外掛庫。SuperMap iClient 9D for Leaflet不僅僅可以在Leaflet上使用SuperMap的地圖服務,我們還對其做了更多擴充套件,您可以方便的在SuperMap iClient for Leaflet上使用ECharts圖表輕鬆繪製諸如折現圖、柱狀圖、散點圖等各種圖表;使用MapV和D3.js繪製OD圖、蜂巢圖、格網圖、流向圖等動靜結合的炫酷的視覺化效果;使用OSMBuildings即刻展現建築立體效果;使用Turf.js實現客戶端空間拓撲分析;並且可以使用超圖雲、天地圖、百度地圖等網際網路地圖作為底圖資料,十分方便。

Leaflet擁有眾多的外掛,,這裡介紹幾款我們web GIS開發中好用的外掛。
Leaflet.markercluster - 為Leaflet提供漂亮動態聚類功能
Leaflet.awesome-markers 漂亮的高清markers,基於Glyphicons / Font-Awesome icons
Leaflet.draw - 向量畫圖工具
Leaflet.hash 位置雜湊表
Leaflet.fullscreen 全屏功能
Leaflet.editable 幾何編輯工具
Leaflet.providers 底圖提供者設定