| Leaflet software | |
|---|---|
| Genere | Geographic information system Libreria di JavaScript |
| Sviluppatore | Vladimir Agafonkin |
| Data prima versione | 13 maggio 2011 |
| Ultima versione | 1.9.4 (18 maggio 2023) |
| Ultima alfa | 2.0.0-alpha1 (16 agosto 2025) |
| Sistema operativo | Multipiattaforma |
| Linguaggio | JavaScript |
| Licenza | licenza BSD a 2-clausole (licenza libera) |
| Sito web | leafletjs.com |
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 file GeoJSON, o livelli interattivi, su una mappa a tasselli.
L'autore è Vladimir Agafonkin, collaboratore MapBox dal 2013.
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('https://tile.osm.org/{z}/{x}/{y}.png', {
attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
} ).addTo(map);
</script>
Le API della libreria sono registrate nella variabile L.
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.
Alcuni elementi che definiscono una mappa Leaflet:
Ci sono ulteriori classi per la proiezione, trasformazione e interazione col DOM.
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. |
Leaflet 0.7 supporta Chromium, Google Chrome, Mozilla Firefox, Safari 5+, Opera 12+ e 7-11.
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.
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.
Fra altri miglioramenti, questo rilascio ha introdotto il supporto al Retina Display.
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.
Un aggiornamento di refactoring.
Questo aggiornamento contiene oltre 400 cambiamenti rispetto alla v0.7.7. I più significativi: