Leaflet

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
La versione stampabile non è più supportata e potrebbe contenere errori di resa. Aggiorna i preferiti del tuo browser e usa semmai la funzione ordinaria di stampa del tuo browser.
Leaflet
software
Logo
Logo
Schermata di esempio
Schermata di esempio
GenereGeographic information system
Libreria di JavaScript
SviluppatoreVladimir Agafonkin
Data prima versione13 maggio 2011 e 2008
Ultima versione1.9.4 (18 maggio 2023)
Sistema operativoMultipiattaforma
LinguaggioJavaScript
Licenzalicenza BSD a 2-clausole
(licenza libera)
Sito webleafletjs.com

Leaflet è una libreria JavaScript per sviluppare mappe geografiche interattive (WebGIS).[1] Sviluppato dal 2010[2], supporta la maggior parte dei browser e degli standard HTML5 e CSS3.[3]

Leaflet permette di mostrare punti di interesse, linee o aree, o strutture dati come file GeoJSON, o livelli interattivi, su una mappa a tasselli.[4]

L'autore è Vladimir Agafonkin, collaboratore MapBox dal 2013.[5]

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: '&amp;copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
 } ).addTo(map);
 </script>

Le API della libreria sono registrate nella variabile L.[4]

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.[4][6]

Elementi

Alcuni elementi che definiscono una mappa Leaflet:[4]

  • 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.[6]

Standard Supporto
GeoJSON Completo, attraverso la funzione L.geoJson[7]
KML, CSV, WKT, TopoJSON, GPX Supportato dal plugin Leaflet-Omnivore[8]
WMS Supporto principale attraverso il tipo TileLayer.WMS[9]
WFS Non supportato ma esistono plugin.[10]
GML Non supportato.[11]

Browser supportati

Leaflet 0.7 supporta Chromium, Google Chrome, Mozilla Firefox, Safari 5+, Opera 12+ e 7-11.[12]

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.[13] Il peso di Leaflet è minore rispetto a quello di OpenLayers (circa 123KB[1] contro 423KB[14]) 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)[6] e il supporto nativo a standard di proiezione diversi da Web Mercator (EPSG 3857).[15]

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.[16]

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.[17]

  • 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.[18]

  • 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.[19]

  • 0.7: 22 novembre 2013

Un aggiornamento di refactoring.[20]

  • 1.0: 27 settembre 2016

Questo aggiornamento contiene oltre 400 cambiamenti rispetto alla v0.7.7.[21] 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. [non chiaro]
  • Migliore supporto alle proiezioni non-standard.
  • Maggiore accessibilità.
  • Migliorata la documentazione del software.
  • Migliorata la stabilità.

Note

  1. ^ a b (EN) Leaflet, su leafletjs.com. URL consultato il 9 novembre 2016.
  2. ^ (EN) first commit, su github.com. URL consultato il 9 novembre 2016.
  3. ^ (EN) Leaflet/README.md, su github.com. URL consultato il 9 novembre 2016.
  4. ^ a b c d (EN) Documentation, su leafletjs.com. URL consultato il 9 novembre 2016 (archiviato dall'url originale il 15 agosto 2018).
  5. ^ (EN) Vladimir Agafonkin, su agafonkin.com. URL consultato il 9 novembre 2016 (archiviato dall'url originale il 15 novembre 2016).
  6. ^ a b c (EN) Plugins, su leafletjs.com. URL consultato il 9 novembre 2016.
  7. ^ (EN) Using GeoJSON with Leaflet, su leafletjs.com. URL consultato il 9 novembre 2016.
  8. ^ (EN) leaflet-omnivore, su github.com. URL consultato il 9 novembre 2016.
  9. ^ (EN) TileLayer.WMS, su leafletjs.com. URL consultato il 9 novembre 2016 (archiviato dall'url originale il 15 agosto 2018).
  10. ^ (EN) Leaflet WFS, su github.com. URL consultato il 9 novembre 2016.
  11. ^ (EN) Support for GPL, su github.com. URL consultato il 9 novembre 2016.
  12. ^ (EN) Features, su leafletjs.com. URL consultato il 9 novembre 2016.
  13. ^ (EN) OpenLayers or Leaflet, su gis.stackexchange.com. URL consultato il 9 novembre 2016.
  14. ^ (EN) OpenLayers 3.4.0 compressed source code, su openlayers.org. URL consultato il 9 novembre 2016 (archiviato dall'url originale il 29 novembre 2016).
  15. ^ (EN) Transformation, su leafletjs.com. URL consultato il 9 novembre 2016 (archiviato dall'url originale il 15 agosto 2018).
  16. ^ (EN) Google Maps Web Services APIs, su developers.google.com. URL consultato il 9 novembre 2016.
  17. ^ (EN) Announcing Leaflet: a Modern Open Source JavaScript Library for Interactive Maps, su reddit.com, 15 maggio 2011. URL consultato il 9 novembre 2016.
  18. ^ (EN) Leaflet 0.5 Released, su leafletjs.com, 17 gennaio 2013. URL consultato il 9 novembre 2016.
  19. ^ (EN) Leaflet 0.6 Released, Code Sprint in DC with MapBox, su leafletjs.com, 26 giugno 2013. URL consultato il 9 novembre 2016.
  20. ^ (EN) Leaflet 0.7 Release, MapBox and Plans for Future, su leafletjs.com, 18 novembre 2013. URL consultato il 9 novembre 2016.
  21. ^ (EN) Meet Leaflet 1.0, su leafletjs.com, 27 settembre 2016. URL consultato il 9 novembre 2016.

Voci correlate

Altri progetti

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica