Ulotka (oprogramowanie)
Oryginalni autorzy | Wołodymyr Agafonkin |
---|---|
Pierwsze wydanie | 13 maja 2011 |
Magazyn | |
Napisane w | JavaScript |
Platforma | Zobacz Obsługa przeglądarki |
Typ | biblioteka JavaScriptu |
Licencja | Klauzula BSD-2 |
Strona internetowa |
Leaflet to biblioteka JavaScript o otwartym kodzie źródłowym , używana do tworzenia internetowych aplikacji mapowych . Po raz pierwszy wydany w 2011 roku, obsługuje większość platform mobilnych i stacjonarnych, obsługując HTML5 i CSS3 . Wśród jego użytkowników są FourSquare , Pinterest i Flickr .
Ulotka umożliwia programistom bez doświadczenia GIS bardzo łatwe wyświetlanie kafelkowych map internetowych hostowanych na serwerze publicznym z opcjonalnymi kafelkowymi nakładkami. Może ładować dane obiektów z GeoJSON , stylizować je i tworzyć interaktywne warstwy, takie jak znaczniki z wyskakującymi okienkami po kliknięciu.
Jest rozwijany przez Wołodymyra Agafonkina, który dołączył do Mapbox w 2013 roku.
Używać
Typowe użycie ulotek polega na powiązaniu elementu „mapowania” ulotek z elementem HTML, takim jak div . Warstwy i znaczniki są następnie dodawane do elementu mapy.
// tworzymy mapę w div "map", ustawiamy widok na dane miejsce i powiększamy var map = L . mapa ( „mapa” ). setView ([ 51.505 , - 0.09 ], 13 ); // dodaj warstwę kafli OpenStreetMap // Obowiązują zasady użytkowania kafelków: https://operations.osmfoundation.org/policies/tiles/ L . tileLayer ( 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' , { przypisanie
: '&kopiuj; <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> współpracowników }). dodaj do ( mapa );
Unikalną cechą ulotki jest wyświetlanie map w niesferycznych odwzorowaniach Mercatora. Sama biblioteka ulotek jest dostępna poprzez zmienną L
.
Cechy
Ulotka obsługuje natywnie warstwy Web Map Service (WMS), GeoJSON , Vector i Tile. Wiele innych typów warstw jest obsługiwanych przez wtyczki .
Podobnie jak inne biblioteki map internetowych, podstawowy model wyświetlania zaimplementowany przez Leaflet to jedna mapa bazowa plus zero lub więcej półprzezroczystych nakładek, z zero lub więcej obiektami wektorowymi wyświetlanymi na górze.
Elementy
Główne typy obiektów ulotek to:
- Typy rastrów (TileLayer i ImageOverlay)
- Typy wektorów (ścieżka, wielokąt i określone typy, takie jak okrąg)
- Zgrupowane typy (LayerGroup, FeatureGroup i GeoJSON)
- Elementy sterujące (powiększenie, warstwy itp.)
Istnieje również wiele klas narzędzi, takich jak interfejsy do zarządzania projekcjami, transformacjami i interakcją z modelem DOM .
Obsługa formatów GIS
Ulotka ma podstawową obsługę wielu standardowych formatów GIS, a inne są obsługiwane we wtyczkach.
Standard | Wsparcie |
---|---|
GeoJSON | Dobre, podstawowe wsparcie poprzez funkcję geoJson
|
KML, CSV, WKT, TopoJSON, GPX | Obsługiwane we wtyczce Leaflet-Omnivore |
WMS | Podstawowe wsparcie poprzez podtyp TileLayer.WMS
|
WFS | Nieobsługiwane, chociaż istnieją wtyczki innych firm. |
GML | Nieobsługiwany. |
Obsługa przeglądarki
Ulotka 0.7 obsługuje przeglądarki Chrome, Firefox, Safari 5+, Opera 12+ i IE 7-11.
Porównanie z innymi bibliotekami
Ulotka jest bezpośrednio porównywalna z OpenLayers , ponieważ obie są bibliotekami JavaScript typu open source, tylko po stronie klienta. Biblioteka jako całość jest znacznie mniejsza, około 7 000 linii kodu w porównaniu do 230 000 OpenLayers (stan na 2015 r.). Ma mniejszy ślad kodu niż OpenLayers (około 123 KB vs 423 KB), częściowo ze względu na swoją modułową strukturę. Baza kodu jest nowsza i wykorzystuje najnowsze funkcje JavaScript oraz HTML5 i CSS3. Jednak w Leaflet brakuje funkcji obsługiwanych przez OpenLayers, takich jak Web Feature Service (WFS) i natywnej obsługi projekcji innych niż Google Web Mercator (EPSG 3857).
Jest również porównywalny z zastrzeżonym, zamkniętym kodem źródłowym Google Maps API (debiut w 2005 r.) i Bing Maps API, z których oba zawierają znaczący komponent po stronie serwera w celu świadczenia usług, takich jak geokodowanie , wyznaczanie tras , wyszukiwanie i integracja z funkcjami takimi jak Google Ziemia . [ potrzebne źródło ] Google Maps API zapewnia szybkość i prostotę, ale nie jest elastyczny i może być używany tylko do uzyskiwania dostępu do usług Google Maps. Nowa część DataLayer interfejsu API Google umożliwia jednak wyświetlanie zewnętrznych źródeł danych.
Historia
Ulotka rozpoczęła życie w 2010 roku jako „Web Maps API”, biblioteka JavaScript dla dostawcy map CloudMade, w którym wówczas pracował Agafonkin. W maju 2011 CloudMade ogłosił pierwsze wydanie Leaflet, zbudowanego od podstaw, ale przy użyciu części starego kodu API.
- 0,1: 17 maja 2011 r
- 0,2: 18 czerwca 2011 r
- 0,3: 14 lutego 2012 r
- 0,4: 30 lipca 2012 r
- 0.5: 17 stycznia 2013 r.
- W tej wersji wprowadzono obsługę Retina oraz wiele ulepszeń użyteczności i wygody użytkownika.
- 0.6: 26 czerwca 2013 r.
- Ta wersja rozszerzyła zakres metod i zdarzeń interfejsu API, poprawiła użyteczność i dodała zapisywanie danych GeoJSON. Został ukończony w 2-dniowym sprincie kodu wspieranym przez Mapbox.
- 0.7: 22 listopada 2013 r.
- To wydanie skupiało się na naprawianiu błędów, ogłaszając, że wkrótce nastąpi refaktoryzacja i potencjalne wsteczne niezgodności.
- 1.0: 27 września 2016 r
- To wydanie zawierało ponad 400 zmian w porównaniu z wersją 0.7.7:
- Poprawa wydajności we wszystkich aspektach bibliotek, aw szczególności warstw wektorowych.
- Animacje przelotu (przybliżanie i przesuwanie po krzywej).
- Obsługa ułamkowego poziomu powiększenia.
- Lepszy algorytm ładowania płytek z mniejszym migotaniem.
- Niestandardowe zarządzanie panelami (w tym panele wielu warstw wektorowych oraz przeplatane wektory i warstwy kafelków).
- Lepsze wsparcie dla niestandardowych projekcji.
- Więcej funkcji ułatwień dostępu.
- Ulepszona dokumentacja.
- Ulepszenia stabilności.
- To wydanie zawierało ponad 400 zmian w porównaniu z wersją 0.7.7:
- 1.1: 27 czerwca 2017 r.
- W tej wersji dodano nakładki wideo i dokonano przejścia na moduły ECMAScript 6.
- 1.2: 25 października 2017 r
- 1.3: 15 stycznia 2018 r
- 1.3.2: 17 lipca 2018 r
- 1.3.3: 18 lipca 2018 r
- 1.3.4: 21 sierpnia 2018 r
- 1.4.0: 30 grudnia 2018 r
- 1.5.0 i 1.5.1 : 8 maja 2019 r
- 1.6.0: 17 listopada 2019 r
- 1.7.1 : 4 września 2020 r
- 1.8 : 18 kwietnia 2022 r
- 1.9 : 22 września 2022 r
W marcu 2022 roku deweloper wezwał do podjęcia działań w sprawie rosyjskiej inwazji na Ukrainę na stronie internetowej ulotek.