팜플렛(소프트웨어)

Leaflet (software)
전단지
Leaflet logo.svg
원저작자볼로디미르 아가폰킨
초기 릴리즈2011년 5월 13일(2011-05-13)
안정된 릴리스
1.8 / 2022년 4월 18일 (2022-04-18)
저장소
기입처자바스크립트
플랫폼브라우저 지원 참조
유형자바스크립트 라이브러리
면허증.BSD-2-Clause[1]
웹 사이트leafletjs.com

리플릿은 웹 매핑 응용 프로그램을 구축하는 데 사용되는 오픈 소스 JavaScript 라이브러리입니다.2011년에 [2]처음 출시된 이 제품은 대부분의 모바일 및 데스크톱 플랫폼을 지원하며 HTML5CSS3를 지원합니다.사용자 중에는 포스퀘어, 핀터레스트, 플리커 등이 있다.

리플릿을 사용하면 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', {      귀속: '&amp;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일
    • 이번 릴리즈에서는 Retina 지원 및 많은 사용 편의성 [19]및 사용자 경험 향상을 도입했습니다.
  • 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개 이상의 변경이 있었습니다.
      • 특히 라이브러리 및 벡터 계층의 모든 측면에서 성능 향상.
      • 플라이오버 애니메이션(곡선의 확대/축소 및 상하좌우 이동).
      • 부분 확대/축소 수준 지원.
      • 깜박임이 적고 타일 로드 알고리즘이 향상되었습니다.
      • 커스텀 페인 관리(복수의 벡터 레이어 페인, 벡터 및 타일 레이어 인터리빙 포함)
      • 비표준 투영에 대한 지원이 향상됩니다.
      • 다양한 접근성 기능
      • 문서의 개량.
      • 안정성 향상
  • 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]통해 러시아의 우크라이나 침공에 대한 조치를 촉구했다.

외부 링크

레퍼런스

  1. ^ "License - Leaflet". Leaflet. Retrieved 2018-11-03.
  2. ^ Lovelace, Robin. "Testing web map APIs - Google vs OpenLayers vs Leaflet". Archived from the original on 2017-11-03. Retrieved 2018-11-03.
  3. ^ MacWright, Tom (2014-08-06). "Leaflet Creator Vladimir Agafonkin Joins MapBox". Retrieved 2018-11-03.
  4. ^ "Top Data Visualization tools by Nataly Otair". 2020-10-08. Retrieved 2020-09-06.
  5. ^ "Leaflet API reference". Retrieved 2018-11-03.
  6. ^ "Using GeoJSON with Leaflet". Retrieved 2018-11-03.
  7. ^ "leaflet-omnivore". October 5, 2021 – via GitHub.
  8. ^ "TileLayer.WMS". Retrieved 2018-11-03.
  9. ^ "Leaflet with WFS Example". July 19, 2019 – via GitHub.
  10. ^ "Support for GML". 2012-06-23. Retrieved 2018-11-03.
  11. ^ "Features". Retrieved 2018-11-03.
  12. ^ "OpenHub.net comparison between OpenLayers and Leaflet". OpenHub.net. Archived from the original on 2014-08-08. Retrieved 2018-11-03.
  13. ^ "Leaflet frontpage". Leaflet - An Open-Source JavaScript Library for Mobile-Friendly Interactive Maps. Retrieved 2018-11-03.
  14. ^ "OpenLayers 3.4.0 compressed source code". OpenLayers.org. Archived from the original on 2016-11-29. Retrieved 2018-11-03.
  15. ^ WFS 지원을 제공하는 다양한 플러그인이 https://leafletjs.com/plugins.html에 나열되어 있습니다.
  16. ^ "Projection". Retrieved 2018-11-03.
  17. ^ "Data Layer". Google Maps Platform. Google Inc. Retrieved 2018-11-03.
  18. ^ "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.
  19. ^ Agafonkin, Vladimir (2013-01-17). "Leaflet 0.5 Released". Retrieved 2018-11-03.
  20. ^ Agafonkin, Vladimir (2013-06-26). "Leaflet 0.6 Released, Code Sprint in DC with MapBox". Retrieved 2018-11-03.
  21. ^ Agafonkin, Vladimir (2013-11-18). "Leaflet 0.7 Release, MapBox and Plans for Future". Retrieved 2018-11-03.
  22. ^ Agafonkin, Vladimir (2016-09-27). "Meet Leaflet 1.0". Retrieved 2018-11-03.
  23. ^ 전쟁 중에 배포된 전단 1.8
  24. ^ "Leaflet - a JavaScript library for interactive maps". 2022-03-21. Archived from the original on 21 March 2022. Retrieved 2022-03-22.