Брошюра (программное обеспечение) - Leaflet (software)

Листовка
Листовка logo.svg
Оригинальный автор (ы)Владимир Агафонкин
изначальный выпуск13 мая 2011 г. (2011-05-13)
Стабильный выпуск
1.7.1 / 4 сентября 2020 г. (2020-09-04)
Репозиторий Отредактируйте это в Викиданных
Написано вJavaScript
ПлатформаВидеть Поддержка браузера
ТипБиблиотека JavaScript
ЛицензияBSD-2-Clause[1]
Интернет сайтлистовка.com

Листовка является Открытый исходный код JavaScript библиотека используется для строительства веб-картография Приложения. Впервые выпущен в 2011 году.[2] он поддерживает большинство мобильных и настольных платформ, поддерживая HTML5 и CSS3. Среди его пользователей FourSquare, Pinterest и Flickr.

Листовка позволяет разработчикам без опыта работы с ГИС очень легко отображать мозаичные веб-карты размещается на общедоступном сервере с дополнительными плиточными наложениями. Он может загружать данные о функциях из GeoJSON файлы, стили и создавайте интерактивные слои, такие как маркеры со всплывающими окнами при нажатии.

Его разработал Владимир Агафонкин, который присоединился к Mapbox в 2013.[3]

Использовать

Базовая демонстрация с использованием Leaflet.

Типичное использование 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 г.
    • В этом выпуске представлены Сетчатка поддержка и множество улучшений удобства использования и взаимодействия с пользователем.[19]
  • 0.6: 26 июня 2013 г.
    • В этом выпуске расширен диапазон методов и событий API, улучшено удобство использования и добавлено сохранение GeoJSON. Это было завершено в двухдневном спринте кода при поддержке Mapbox.[20]
  • 0.7: 22 ноября 2013 г.
    • В этом выпуске основное внимание уделялось исправлению ошибок, и в нем сообщалось, что скоро произойдет рефакторинг и потенциальная обратная несовместимость.[21]
  • 1.0: 27 сентября 2016 г.
    • Этот выпуск содержит более 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 г.

внешняя ссылка

Рекомендации

  1. ^ «Лицензия - Брошюра». Листовка. Получено 2018-11-03.
  2. ^ Лавлейс, Робин. «Тестирование API веб-карт - Google против OpenLayers против Leaflet». Архивировано из оригинал на 2017-11-03. Получено 2018-11-03.
  3. ^ Макрайт, Том (2014-08-06). "Создатель листовок Владимир Агафонкин присоединяется к MapBox". Получено 2018-11-03.
  4. ^ «Лучшие инструменты визуализации данных Натали Отаир». 2020-10-08. Получено 2020-09-06.
  5. ^ "Справочник API листовок". Получено 2018-11-03.
  6. ^ «Использование GeoJSON с Leaflet». Получено 2018-11-03.
  7. ^ https://github.com/mapbox/leaflet-omnivore
  8. ^ "TileLayer.WMS". Получено 2018-11-03.
  9. ^ https://github.com/Georepublic/leaflet-wfs
  10. ^ «Поддержка GML». 2012-06-23. Получено 2018-11-03.
  11. ^ "Функции". Получено 2018-11-03.
  12. ^ «Сравнение OpenHub.net между OpenLayers и Leaflet». OpenHub.net. Архивировано из оригинал на 2014-08-08. Получено 2018-11-03.
  13. ^ "Заглавная страница листовки". Leaflet - Библиотека JavaScript с открытым исходным кодом для мобильных интерактивных карт. Получено 2018-11-03.
  14. ^ «Сжатый исходный код OpenLayers 3.4.0». OpenLayers.org. Архивировано из оригинал на 2016-11-29. Получено 2018-11-03.
  15. ^ Различные плагины, обеспечивающие поддержку WFS, перечислены на https://leafletjs.com/plugins.html
  16. ^ «Проекция». Получено 2018-11-03.
  17. ^ «Уровень данных». Платформа Google Maps. Google. Получено 2018-11-03.
  18. ^ «Анонсирующий буклет: современная библиотека JavaScript с открытым исходным кодом для интерактивных карт». CloudMade. 2011-05-13. Архивировано из оригинал на 2014-08-11. Получено 2018-11-03.
  19. ^ Агафонкин, Владимир (17.01.2013). «Листовка 0.5 выпущена». Получено 2018-11-03.
  20. ^ Агафонкин, Владимир (26.06.2013). "Leaflet 0.6 выпущен, Code Sprint в DC с MapBox". Получено 2018-11-03.
  21. ^ Агафонкин, Владимир (18.11.2013). «Leaflet 0.7 Release, MapBox и планы на будущее». Получено 2018-11-03.
  22. ^ Агафонкин, Владимир (27.09.2016). «Знакомьтесь, Leaflet 1.0». Получено 2018-11-03.