팜플렛(소프트웨어)
Leaflet (software)![]() | |
원저작자 | 볼로디미르 아가폰킨 |
---|---|
초기 릴리즈 | 2011년 5월 13일( |
안정된 릴리스 | 1.8 / 2022년 4월 18일 ( |
저장소 | |
기입처 | 자바스크립트 |
플랫폼 | 브라우저 지원 참조 |
유형 | 자바스크립트 라이브러리 |
면허증. | BSD-2-Clause[1] |
웹 사이트 | leafletjs |
리플릿은 웹 매핑 응용 프로그램을 구축하는 데 사용되는 오픈 소스 JavaScript 라이브러리입니다.2011년에 [2]처음 출시된 이 제품은 대부분의 모바일 및 데스크톱 플랫폼을 지원하며 HTML5 및 CSS3를 지원합니다.사용자 중에는 포스퀘어, 핀터레스트, 플리커 등이 있다.
리플릿을 사용하면 GIS 배경이 없는 개발자는 옵션인 타일형 오버레이를 사용하여 공용 서버에서 호스트되는 타일형 웹 맵을 매우 쉽게 표시할 수 있습니다.GeoJSON 파일에서 피쳐 데이터를 로드하고 스타일링하며 클릭 시 팝업이 있는 마커와 같은 대화형 레이어를 생성할 수 있습니다.
2013년 [3]Mapbox에 입사한 Volodymyr Agafonkin에 의해 개발되었습니다.
사용하다
리플릿의 일반적인 사용에는 리플릿의 "맵" 요소를 div 등의 HTML 요소에 바인딩하는 것이 포함됩니다.그런 다음 도면층과 마커가 지도 요소에 추가됩니다.
// "지도" 칸에서 지도를 만들고, 뷰를 지정된 위치로 설정하고 확대/축소합니다. 변화하다 지도 = L.지도('맵').set뷰([51.505, -0.09], 13); // OpenStreetMap 타일 레이어 추가 // 타일 사용 정책이 적용됩니다.https://operations.osmfoundation.org/policies/tiles/ L.타일 레이어('http://{s}.tile.openstreetmap.org/ {z}/{x}/{y}.png', { 귀속: '&copy; <a href="http://openstreetmap.org/copyright"> OpenStreetMap </a> 기여자' }).추가처(지도);
전단지의 독특한 특징은 비구면 메르카토르 [4]투영으로 지도를 표시하는 것입니다.리플릿 라이브러리 자체는 변수를 통해 액세스할 수 있습니다.L
.
특징들
리플릿은 Web Map Service(WMS) 계층, GeoJSON 계층, 벡터 계층 및 타일 계층을 기본적으로 지원합니다.다른 많은 유형의 계층이 플러그인을 통해 지원됩니다.
다른 웹 지도 라이브러리와 마찬가지로 Leaflet에 의해 구현된 기본 디스플레이 모델은 1개의 베이스맵과 0개 이상의 반투명 오버레이로, 위에 0개 이상의 벡터 개체가 표시됩니다.
요소들
주요 리플릿오브젝트 유형은 다음과 같습니다.[5]
- 래스터 타입(타일 레이어 및 ImageOverlay)
- 벡터 유형(경로, 폴리곤 및 원과 같은 특정 유형)
- 그룹화된 유형(Layer Group, Feature Group 및 GeoJSON)
- 컨트롤(줌, 레이어 등)
또한 투영, 변환 및 DOM과의 상호작용을 관리하기 위한 인터페이스 등 다양한 유틸리티 클래스가 있습니다.
GIS 형식 지원
리플릿은 여러 GIS 표준 포맷을 핵심으로 지원하며, 다른 GIS 표준 포맷은 플러그인으로 지원됩니다.
표준. | 지지하다 |
---|---|
GeoJSON | 뛰어난 코어 서포트를 통해geoJson 기능하다[6] |
KML, CSV, WKT, TopoJ아들, GPX | 리플릿-Omnivore 플러그인에서[7] 지원 |
WMS | 를 통한 핵심 지원TileLayer.WMS [8] 서브타입 |
WFS | 서드파티 플러그인이 [9]있지만 지원되지 않습니다. |
GML | 지원되지 [10]않습니다. |
브라우저 지원
리플릿 0.7은 Chrome, Firefox, Safari 5+, Opera 12+ [11]및 IE 7-11을 지원합니다.
다른 라이브러리와의 비교
리플릿은 오픈 소스이며 클라이언트 측에서만 JavaScript 라이브러리로 OpenLayer와 직접 비교됩니다.라이브러리 전체는 훨씬 작아 약 7,000줄의 코드가 OpenLayers(2015년 [12]기준)의 23만 줄에 비해 훨씬 작습니다.일부 모듈러 구조로 인해 OpenLayer보다 코드 풋프린트가 작습니다(약 123KB[13] 대 423KB[14]).코드 베이스는 보다 새로운 것으로, JavaScript의 최신 기능과 HTML5 및 CSS3를 이용하고 있습니다.그러나 리플릿은 Web Feature Service(WFS)[15]나 Google Web Mercator(EPSG 3857)[16] 이외의 프로젝션의 네이티브 지원과 같은 OpenLayer가 지원하는 기능이 없습니다.
또한 독점적이고 폐쇄적인 소스인 Google Maps API(2005년 출시) 및 Bing Maps API와 비교할 수 있습니다. 이 API는 둘 다 지오코딩, 라우팅, 검색 및 Google [citation needed]어스와 같은 기능과의 통합과 같은 서비스를 제공하기 위해 중요한 서버 측 구성 요소를 포함합니다.Google Maps API는 속도와 단순성을 제공하지만 유연하지는 않으며 Google Maps 서비스에 액세스하는 데만 사용할 수 있습니다.그러나 [17]Google API의 새로운 DataLayer 부분은 외부 데이터 소스를 표시할 수 있습니다.
역사
리플릿은 2010년에 CloudMade 매핑 공급자를 위한 자바스크립트 라이브러리인 "Web Maps API"로 활동을 시작했으며, 당시 아가폰킨은 그곳에서 일했다.2011년 5월 CloudMade는 오래된 API [18]코드의 일부를 사용하여 처음부터 작성된 Leaflet의 첫 번째 릴리스를 발표했습니다.
- 0.1: 2011년 5월 17일
- 0.2: 2011년 6월 18일
- 0.3: 2012년 2월 14일
- 0.4: 2012년 7월 30일
- 0.5: 2013년 1월 17일
- 0.6: 2013년 6월 26일
- 이 릴리스는 API의 메서드 및 이벤트 범위를 확장하고 사용성을 향상시키며 GeoJSON 저장을 추가했습니다.Mapbox가 [20]지원하는 2일간의 코드 스프린트로 완료되었습니다.
- 0.7: 2013년 11월 22일
- 이 릴리스에서는 버그 수정에 초점을 맞추어 리팩터링 및 잠재적인 하위 비호환성이 [21]곧 출시될 것이라고 발표했습니다.
- 1.0: 2016년 9월 27일
- 이 릴리스에서는 v0.7.[22]7에 비해 400개 이상의 변경이 있었습니다.
- 특히 라이브러리 및 벡터 계층의 모든 측면에서 성능 향상.
- 플라이오버 애니메이션(곡선의 확대/축소 및 상하좌우 이동).
- 부분 확대/축소 수준 지원.
- 깜박임이 적고 타일 로드 알고리즘이 향상되었습니다.
- 커스텀 페인 관리(복수의 벡터 레이어 페인, 벡터 및 타일 레이어 인터리빙 포함)
- 비표준 투영에 대한 지원이 향상됩니다.
- 다양한 접근성 기능
- 문서의 개량.
- 안정성 향상
- 이 릴리스에서는 v0.7.[22]7에 비해 400개 이상의 변경이 있었습니다.
- 1.1: 2017년 6월 27일
- 이 릴리스에서는 비디오오버레이가 추가되어 ECMAScript 6 모듈로 이행합니다.
- 1.2: 2017년 10월 25일
- 1.3: 2018년 1월 15일
- 1.3.2: 2018년 7월 17일
- 1.3.3: 2018년 7월 18일
- 1.3.4: 2018년8월 21일
- 1.4.0: 2018년 12월 30일
- 1.5.0 및 1.5.1 : 2019년 5월 8일
- 1.6.0 : 2019년 11월 17일
- 1.7.1 : 2020년9월 4일
- 1.8 : 2022년 4월 18일
2022년 3월 개발자는 전단지를 [24]통해 러시아의 우크라이나 침공에 대한 조치를 촉구했다.
외부 링크
레퍼런스
- ^ "License - Leaflet". Leaflet. Retrieved 2018-11-03.
- ^ Lovelace, Robin. "Testing web map APIs - Google vs OpenLayers vs Leaflet". Archived from the original on 2017-11-03. Retrieved 2018-11-03.
- ^ MacWright, Tom (2014-08-06). "Leaflet Creator Vladimir Agafonkin Joins MapBox". Retrieved 2018-11-03.
- ^ "Top Data Visualization tools by Nataly Otair". 2020-10-08. Retrieved 2020-09-06.
- ^ "Leaflet API reference". Retrieved 2018-11-03.
- ^ "Using GeoJSON with Leaflet". Retrieved 2018-11-03.
- ^ "leaflet-omnivore". October 5, 2021 – via GitHub.
- ^ "TileLayer.WMS". Retrieved 2018-11-03.
- ^ "Leaflet with WFS Example". July 19, 2019 – via GitHub.
- ^ "Support for GML". 2012-06-23. Retrieved 2018-11-03.
- ^ "Features". Retrieved 2018-11-03.
- ^ "OpenHub.net comparison between OpenLayers and Leaflet". OpenHub.net. Archived from the original on 2014-08-08. Retrieved 2018-11-03.
- ^ "Leaflet frontpage". Leaflet - An Open-Source JavaScript Library for Mobile-Friendly Interactive Maps. Retrieved 2018-11-03.
- ^ "OpenLayers 3.4.0 compressed source code". OpenLayers.org. Archived from the original on 2016-11-29. Retrieved 2018-11-03.
- ^ WFS 지원을 제공하는 다양한 플러그인이 https://leafletjs.com/plugins.html에 나열되어 있습니다.
- ^ "Projection". Retrieved 2018-11-03.
- ^ "Data Layer". Google Maps Platform. Google Inc. Retrieved 2018-11-03.
- ^ "Announcing Leaflet: a Modern Open Source JavaScript Library for Interactive Maps". CloudMade. 2011-05-13. Archived from the original on 2014-08-11. Retrieved 2018-11-03.
- ^ Agafonkin, Vladimir (2013-01-17). "Leaflet 0.5 Released". Retrieved 2018-11-03.
- ^ Agafonkin, Vladimir (2013-06-26). "Leaflet 0.6 Released, Code Sprint in DC with MapBox". Retrieved 2018-11-03.
- ^ Agafonkin, Vladimir (2013-11-18). "Leaflet 0.7 Release, MapBox and Plans for Future". Retrieved 2018-11-03.
- ^ Agafonkin, Vladimir (2016-09-27). "Meet Leaflet 1.0". Retrieved 2018-11-03.
- ^ 전쟁 중에 배포된 전단 1.8
- ^ "Leaflet - a JavaScript library for interactive maps". 2022-03-21. Archived from the original on 21 March 2022. Retrieved 2022-03-22.