Брошюра (программное обеспечение) - Leaflet (software)
Оригинальный автор (ы) | Владимир Агафонкин |
---|---|
изначальный выпуск | 13 мая 2011 г. |
Стабильный выпуск | 1.7.1 / 4 сентября 2020 г. |
Репозиторий | |
Написано в | JavaScript |
Платформа | Видеть Поддержка браузера |
Тип | Библиотека JavaScript |
Лицензия | BSD-2-Clause[1] |
Интернет сайт | листовка |
Листовка является Открытый исходный код JavaScript библиотека используется для строительства веб-картография Приложения. Впервые выпущен в 2011 году.[2] он поддерживает большинство мобильных и настольных платформ, поддерживая HTML5 и CSS3. Среди его пользователей FourSquare, Pinterest и Flickr.
Листовка позволяет разработчикам без опыта работы с ГИС очень легко отображать мозаичные веб-карты размещается на общедоступном сервере с дополнительными плиточными наложениями. Он может загружать данные о функциях из GeoJSON файлы, стили и создавайте интерактивные слои, такие как маркеры со всплывающими окнами при нажатии.
Его разработал Владимир Агафонкин, который присоединился к Mapbox в 2013.[3]
Использовать
Типичное использование Leaflet включает привязку элемента «map» Leaflet к элементу HTML, например div. Затем к элементу карты добавляются слои и маркеры.
// создаем карту в блоке "map", устанавливаем вид в заданное место и масштабируем вар карта = L.карта('карта').setView([51.505, -0.09], 13); // добавляем слой листов OpenStreetMap // Применяется политика использования плитки: https://operations.osmfoundation.org/policies/tiles/ L.tileLayer('http: // {s} .tile.openstreetmap.org / {z} / {x} / {y} .png', { атрибуция: '& amp; копировать; Участники OpenStreetMap }).добавить в(карта);
Уникальной особенностью буклета является отображение карт в несферической проекции Меркатора.[4]Сама библиотека Leaflet доступна через переменную L
.
Функции
Подставки для листовок Веб-картографический сервис (WMS) слои, GeoJSON слои Вектор слои и слои мозаики изначально. Многие другие типы слоев поддерживаются через плагины.
Как и другие библиотеки веб-карт, базовая модель отображения, реализованная Leaflet, представляет собой одну базовую карту плюс ноль или более полупрозрачных оверлеев с нулевым или более отображаемыми сверху векторными объектами.
Элементы
Основные типы объектов Leaflet:[5]
- Типы растров (TileLayer и ImageOverlay)
- Векторные типы (путь, многоугольник и определенные типы, такие как круг)
- Сгруппированные типы (LayerGroup, FeatureGroup и GeoJSON)
- Элементы управления (масштабирование, слои и т. Д.)
Также существует множество служебных классов, таких как интерфейсы для управления проекциями, преобразованиями и взаимодействия с ДОМ.
Поддержка форматов ГИС
Leaflet имеет основную поддержку нескольких стандартных форматов ГИС, а другие поддерживаются в надстройках.
Стандарт | Поддерживать |
---|---|
GeoJSON | Хорошо, основная поддержка через geoJson функция[6] |
KML, CSV, WKT, TopoJSON, GPX | Поддерживается в плагине Leaflet-Omnivore[7] |
WMS | Основная поддержка через TileLayer.WMS [8] подтип |
WFS | Не поддерживается, хотя существуют сторонние плагины.[9] |
GML | Не поддерживается.[10] |
Поддержка браузера
Leaflet 0.7 поддерживает Chrome, Firefox, Safari 5+, Opera 12+ и IE 7-11.[11]
Сравнение с другими библиотеками
Leaflet напрямую сопоставим с OpenLayers, поскольку оба являются библиотеками JavaScript с открытым исходным кодом и только на стороне клиента. Библиотека в целом намного меньше, около 7000 строк кода по сравнению с 230000 OpenLayers (по состоянию на 2015 год).[12] Он имеет меньший объем кода, чем OpenLayers (около 123 КБ[13] и 423 КБ[14]) отчасти из-за его модульной структуры. База кода новее и использует новейшие функции JavaScript, а также HTML5 и CSS3. Однако в Leaflet отсутствуют функции, поддерживаемые OpenLayers, такие как Сервис веб-функций (WFS)[15] и встроенная поддержка прогнозов, отличных от Google Web Mercator (EPSG 3857).[16]
Это также сравнимо с закрытым исходным кодом. Google Maps API (дебютирует в 2005 году) и Bing Maps API, оба из которых включают важный серверный компонент для предоставления таких услуг, как геокодирование, маршрутизация, поиск и интеграция с такими функциями, как Google земной шар.[нужна цитата ] Google Maps API обеспечивает скорость и простоту, но не является гибким и может использоваться только для доступа к сервисам Google Maps. Однако новая часть DataLayer API Google позволяет отображать внешние источники данных.[17]
История
Leaflet начал свою жизнь в 2010 году как «API веб-карт», библиотека JavaScript для картографического провайдера CloudMade, где в то время работал Агафонкин. В мае 2011 года CloudMade анонсировала первую версию Leaflet, созданную с нуля, но с использованием частей старого кода API.[18]
- 0.1: 17 мая 2011 г.
- 0.2: 18 июня 2011 г.
- 0.3: 14 февраля 2012 г.
- 0.4: 30 июля 2012 г.
- 0.5: 17 января 2013 г.
- 0.6: 26 июня 2013 г.
- В этом выпуске расширен диапазон методов и событий API, улучшено удобство использования и добавлено сохранение GeoJSON. Это было завершено в двухдневном спринте кода при поддержке Mapbox.[20]
- 0.7: 22 ноября 2013 г.
- В этом выпуске основное внимание уделялось исправлению ошибок, и в нем сообщалось, что скоро произойдет рефакторинг и потенциальная обратная несовместимость.[21]
- 1.0: 27 сентября 2016 г.
- Этот выпуск содержит более 400 изменений по сравнению с v0.7.7:[22]
- Улучшения производительности во всех аспектах библиотеки и, в частности, векторных слоев.
- Анимация пролета (масштабирование и панорамирование по кривой).
- Поддержка уровня дробного масштабирования.
- Улучшенный алгоритм загрузки плитки с меньшим мерцанием.
- Управление настраиваемыми панелями (включая несколько панелей векторных слоев и чередование векторов и слоев листов).
- Лучшая поддержка нестандартных прогнозов.
- Больше специальных возможностей.
- Улучшенная документация.
- Улучшения стабильности.
- Этот выпуск содержит более 400 изменений по сравнению с v0.7.7:[22]
- 1.1: 27 июня 2017 г.
- В этом выпуске добавлены наложения на видео и произведен переход на модули ECMAScript 6.
- 1.2: 25 октября 2017 г.
- 1.3: 15 января 2018 г.
- 1.3.2: 17 июля 2018 г.
- 1.3.3: 18 июля 2018 г.
- 1.3.4: 21 августа 2018 г.
- 1.4.0: 30 декабря 2018 г.
- 1.5.0 и 1.5.1: 8 мая 2019 г.
- 1.6.0: 17 ноября 2019 г.
- 1.7.1: 4 сентября 2020 г.
внешняя ссылка
Рекомендации
- ^ «Лицензия - Брошюра». Листовка. Получено 2018-11-03.
- ^ Лавлейс, Робин. «Тестирование API веб-карт - Google против OpenLayers против Leaflet». Архивировано из оригинал на 2017-11-03. Получено 2018-11-03.
- ^ Макрайт, Том (2014-08-06). "Создатель листовок Владимир Агафонкин присоединяется к MapBox". Получено 2018-11-03.
- ^ «Лучшие инструменты визуализации данных Натали Отаир». 2020-10-08. Получено 2020-09-06.
- ^ "Справочник API листовок". Получено 2018-11-03.
- ^ «Использование GeoJSON с Leaflet». Получено 2018-11-03.
- ^ https://github.com/mapbox/leaflet-omnivore
- ^ "TileLayer.WMS". Получено 2018-11-03.
- ^ https://github.com/Georepublic/leaflet-wfs
- ^ «Поддержка GML». 2012-06-23. Получено 2018-11-03.
- ^ "Функции". Получено 2018-11-03.
- ^ «Сравнение OpenHub.net между OpenLayers и Leaflet». OpenHub.net. Архивировано из оригинал на 2014-08-08. Получено 2018-11-03.
- ^ "Заглавная страница листовки". Leaflet - Библиотека JavaScript с открытым исходным кодом для мобильных интерактивных карт. Получено 2018-11-03.
- ^ «Сжатый исходный код OpenLayers 3.4.0». OpenLayers.org. Архивировано из оригинал на 2016-11-29. Получено 2018-11-03.
- ^ Различные плагины, обеспечивающие поддержку WFS, перечислены на https://leafletjs.com/plugins.html
- ^ «Проекция». Получено 2018-11-03.
- ^ «Уровень данных». Платформа Google Maps. Google. Получено 2018-11-03.
- ^ «Анонсирующий буклет: современная библиотека JavaScript с открытым исходным кодом для интерактивных карт». CloudMade. 2011-05-13. Архивировано из оригинал на 2014-08-11. Получено 2018-11-03.
- ^ Агафонкин, Владимир (17.01.2013). «Листовка 0.5 выпущена». Получено 2018-11-03.
- ^ Агафонкин, Владимир (26.06.2013). "Leaflet 0.6 выпущен, Code Sprint в DC с MapBox". Получено 2018-11-03.
- ^ Агафонкин, Владимир (18.11.2013). «Leaflet 0.7 Release, MapBox и планы на будущее». Получено 2018-11-03.
- ^ Агафонкин, Владимир (27.09.2016). «Знакомьтесь, Leaflet 1.0». Получено 2018-11-03.