Leaflet (software)

Leaflet on avoimen lähdekoodin JavaScript-kirjasto, jonka avulla voi rakentaa web-kartoitussovelluksia. Leaflet on tarkoituksella tehty pieneksi kirjastoksi ja sen koko on vain 42kB. Se julkaistiin vuonna 2011. Se toimii useilla mobiili- ja työpöytäalustoilla, jotka tukevat HTML5:tä sekä CSS3:a. Esimerkiksi Pinterest sekä Flickr käyttävät Leaflet-kirjastoa.  
Leafletin avulla voidaan hyödyntää GeoJSON tiedostoja ja niiden arvoja. GeoJSON tiedostojen avulla voidaan karttaan lisätä tasoja kuvaamaan eri alueita. Leafletin ominaisuuksia voidaan laajentaa useilla eri liitännäisillä joiden avulla saadaan luotua tasoja.
Leaflet tukee helppokäyttöisyyttä kuten näytönlukuohjelmia Narrator ja Orca ja näppäimistön käyttöä osottimen sijasta.

Leafletin ensimmäisen version kehittäjä on Volodymyr Agafonkin.

Ominaisuudet 

Leaflet tarjoaa laajan valikoiman eri elementtejä ja ominaisuuksia, joita voidaan lisätä osaksi Leaflet-karttaa. Leafletin omilta sivuilta Leaflet-tutorials välilehdeltä pääsee näkemään eri ominaisuuksia ja esimerkkejä niiden implementoinnista, ja sivut tarjoavat helppoja esimerkkikoodeja implementoimaan kyseinen ominaisuus karttaan. 

Leaflet-kirjastossa on mahdollista luoda kartalle haluamansa muotoisia rajoja ja alueita, joihin voidaan lisätä hyödyllistä tietoa alueista. Tämän avulla voidaan esimerkiksi lisätä Suomen kuntien rajat. Alueiden tietoihin voidaan lisätä mitä vain tietoa, kuten kunnan asukkaiden määrän ja kunnan nimi, jotka saadaan näkyviin kursorilla osoittamalla tai alueesta klikkaamalla. Nämä ominaisuudet ovat mahdollista implementoida GeoJSON- ja Choropleth Map-kirjastoja käyttäen. Näitä yhdistämällä on mahdollista tehdä hyvin informatiivisia karttoja, ja näiden lisäksi voidaan liittää eri avoimen datan API:tä Javascriptin avulla hakemaan dataa alueisiin.

Karttaan voi lisätä useita eri kerroksia, joissa on eri tietoja ja. Leafletin Leaflet-control kirjasto näyttää esimerkin kartasta, jossa on erilaisia taustakarttoja ja merkintöjä, jotka käyttäjä pystyy valitsemaan asetuksista haluamansa mukaan. Sivulta myös nähdään koodipätkät, joiden avulla kartta on luotu, ja niitä käyttäen on helppoa implementoida nämä ominaisuudet omaan Leaflet-karttaan.  

Yhdistämällä Leaflet-kirjaston eri ominaisuuksia voidaan tehdä hyvin personalisoituja karttoja, ja kartoista pystyy tekemään niin tyyliteltyjä kuin vain koodaajalla on halua muokata. Leaflet-kirjastoa päivitetään jatkuvasti ja Leafletin kehittäjät lisäävät uusia ominaisuuksia jatkuvasti. Kirjaston avoimen lähdekoodin avusta kuka vaan pystyy tekemään lisäyksiä kirjastoon, ja lisäämään tarvittavia ominaisuuksia karttaelementtiin, jos niitä ei ole vielä saatavilla julkisessa versiossa.

Käyttöesimerkki 
 /*Asetetaan Leaflet "map" elementti HTML elementtiin kuten div, jonka id on "map". Tämän jälkeen asetetaan halutut koordinaatit sekä suurennuksen arvo.*/
 
 const map = L.map('map').setView([51.505, -0.09], 13);
 
 /*Lisätään karttaan OpenStreetMap-taso ja lisätään attribuutteihin OpenStreetMap tekijänoikeudet(https://operations.osmfoundation.org/policies/tiles/). 
 Tämän jälkeen lisätään taso kartta-elementtiin*/
 L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
    maxZoom: 19,
    attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
 }).addTo(map);

Tuetut alustat 
Työpöytätuki: Chrome, Firefox, Safari 5+, Opera 12+, IE 9-11 ja Edge.

Mobiilituki: Safari iOS 7+, Chrome mobiiliversio, Firefox mobiiliversio ja IE10+ Windows 8 tietokoneille.

Lähteet 

JavaScript