Leaflet è una libreria JavaScript per sviluppare mappe geografiche interattive (WebGIS). Sviluppato dal 2010, supporta la maggior parte dei browser e degli standard HTML5 e CSS3.
Leaflet permette di mostrare punti di interesse, linee o aree, o strutture dati come GeoJSON, o livelli interattivi, su una mappa a tasselli.
L'autore è Vladimir Agafonkin, collaboratore MapBox dal 2013.
Utilizzi Un utilizzo tipico di Leaflet è l'inserimento di una mappa all'interno di un elemento HTML. Punti di interesse (markers) e livelli (layers) possono essere aggiunti successivamente.
<script> // Aggiunta della mappa nell'elemento div, impostando la visuale e lo zoom var map = L.map('map').setView([51.505, -0.09], 13);
// Aggiunta della mappa a tasselli da OpenStreetMap L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' } ).addTo(map); </script>
Le API della libreria sono registrate nella variabile L.
Funzionalità Leaflet supporta i livelli Web Map Service (WMS), i livelli GeoJSON, i livelli vettoriali e i livelli a tasselli. Le funzionalità possono essere estese attraverso plugin.
Elementi Alcuni elementi che definiscono una mappa Leaflet: Tipi raster (TileLayer and ImageOverlay) Tipi vettoriali (Vector) (Path, Polygon, e tipi specifici come Circle) Tipi di raggruppamento (LayerGroup, FeatureGroup and GeoJSON) Controlli (Zoom, Layers, etc.) Ci sono ulteriori classi per la proiezione, trasformazione e interazione col DOM.
Supporto ai formati GIS Leaflet supporta alcuni formati GIS standard, estendibili attraverso plugin. Standard Supporto GeoJSON Completo, attraverso la funzione L.geoJson KML, CSV, WKT, TopoJSON, GPX Supportato dal plugin Leaflet-Omnivore WMS Supporto principale attraverso il tipo TileLayer.WMS WFS Non supportato ma esistono plugin. GML Non supportato.
Browser supportati Leaflet 0.7 supporta Chromium, Google Chrome, Mozilla Firefox, Safari 5+, Opera 12+ e 7-11.
Paragone con altre librerie Leaflet e OpenLayers sono entrambe librerie JavaScript lato client ed entrambe software libero. Leaflet è più piccola (circa 7.000 righe di codice) rispetto ad OpenLayers (circa 230.000 righe di codice) al 2015. Il peso di Leaflet è minore rispetto a quello di OpenLayers (circa 123KB contro 423KB) e il suo codice sorgente sfrutta funzionalità JavaScript più recenti, insieme all'HTML5 e CSS3, ciò nonostante manca di alcune funzionalità di cui OpenLayers invece dispone, come il supporto ai Web Feature Service (WFS) e il supporto nativo a standard di proiezione diversi da Web Mercator (EPSG 3857).
Altri strumenti proprietari come Google Maps API (lanciato nel 2005) e le Bing Maps Platform API necessitano di una significativa integrazione lato server per fornire i medesimi servizi.
Storia Leaflet nasce nel 2010 come libreria JavaScript per CloudMade, un fornitore di mappe dove Agafonkin lavorava a quel tempo. In maggio 2011, CloudMade annunciò il primo rilascio di Leaflet, creata praticamente da zero. 0.1: 17 maggio 2011 0.2: 18 giugno 2011 0.3: 14 febbraio 2012 0.4: 30 luglio 2012 0.5: 17 gennaio 2013 Fra altri miglioramenti, questo rilascio ha introdotto il supporto al Retina Display. 0.6: 26 giugno 2013 Questo rilascio ha introdotto il supporto agli eventi e al formato GeoJSON. Fu sviluppato in occasione di un evento promosso da Mapbox, in soli 2 giorni. 0.7: 22 novembre 2013 Un aggiornamento di refactoring. 1.0: 27 settembre 2016 Questo aggiornamento contiene oltre 400 cambiamenti rispetto alla v0.7.7. I più significativi: Miglioramento delle performance. Animazioni per lo zoom e lo spostamento. Supporto a livelli di zoom frazionari. Migliorato l'algoritmo di gestione dei tasselli della mappa. Pannelli personalizzati. Migliore supporto alle proiezioni non-standard. Maggiore accessibilità. Migliorata la documentazione del software. Migliorata la stabilità.
Note
Voci correlate WebGIS OpenLayers
Altri progetti
Collegamenti esterni
openstreetmap:leaflet
Categoria:Geographic information system liberi Categoria:Librerie JavaScript