Автор (ы)) | |
---|---|
Первоначальный выпуск | 13 мая 2011 г. (2011-05-13) |
Стабильный выпуск | 1.7.1 / 4 сентября 2020 г. (2020-09-04) |
Репозиторий | |
Написано на | JavaScript |
Платформа | См. Поддержка браузера |
Тип | Библиотека JavaScript |
Лицензия | BSD-2-Clause |
Веб-сайт | leafletjs.com |
Leaflet является открытым исходным кодом JavaScript библиотека, используемая для создания картографических веб-приложений приложений. Впервые выпущенный в 2011 году, он поддерживает большинство мобильных и настольных платформ, поддерживая HTML5 и CSS3. Среди его пользователей - FourSquare, Pinterest и Flickr.
Leaflet, позволяющий разработчикам без опыта работы с ГИС очень легко отображать мозаичные веб-карты, размещенные на общедоступный сервер с дополнительными плиточными накладками. Он может загружать данные объектов из файлов GeoJSON, стилизовать их и создавать интерактивные слои, такие как маркеры со всплывающими окнами при нажатии.
Он разработан Владимиром Агафонкиным, который присоединился к Mapbox в 2013 году.
Типичный использование Leaflet включает привязку элемента «map» Leaflet к элементу HTML, например, div. Затем к элементу карты добавляются слои и маркеры.
// создаем карту в блоке "map", устанавливаем вид в заданное место и масштабируем var map = L.map ('map'). SetView ([51.505, -0.09], 13); // добавляем слой листов OpenStreetMap // Применяется политика использования листов: https://operations.osmfoundation.org/policies/tiles/ L.tileLayer ('http: // {s}.tile.openstreetmap.org / {z} /{x}/{y}.png ', {attribution:' © OpenStreetMap участники '}). addTo (карта);
Уникальной особенностью буклета является отображение карт в несферической проекции Меркатора. Сама библиотека Leaflet доступна через переменную L
.
Leaflet поддерживает слои Web Map Service (WMS), слои GeoJSON, Vector слои и слои плитки изначально. Многие другие типы слоев поддерживаются с помощью плагинов.
Как и другие библиотеки веб-карт, базовая модель отображения, реализованная Leaflet, представляет собой одну базовую карту плюс ноль или более полупрозрачных наложений с нулевым или более отображаемыми сверху векторными объектами.
Основные типы объектов Leaflet:
Также существует множество служебных классов, таких как интерфейсы для управления проекциями, преобразованиями и взаимодействие с DOM.
Leaflet имеет базовую поддержку нескольких стандартных форматов ГИС, а другие поддерживаются в надстройках.
Стандартный | Поддержка |
---|---|
GeoJSON | Хорошая, основная поддержка с помощью geoJson функции |
KML, CSV, WKT, TopoJSON, GPX | Поддерживается в подключаемом модуле Leaflet-Omnivore |
WMS | Основная поддержка через подтип TileLayer.WMS |
WFS | Не поддерживается, хотя существуют подключаемые модули сторонних производителей. |
GML | Не поддерживается. |
Leaflet 0.7 поддерживает Chrome, Firefox, Safari 5+, Opera 12+ и IE 7-11.
Leaflet напрямую сопоставим с OpenLayers, поскольку оба являются библиотеками JavaScript с открытым исходным кодом и только на стороне клиента. Библиотека в целом намного меньше, около 7000 строк кода по сравнению с 230000 OpenLayers (по состоянию на 2015 год). Он имеет меньший объем кода, чем OpenLayers (около 123 КБ против 423 КБ), отчасти из-за его модульной структуры. База кода новее и использует новейшие функции JavaScript, а также HTML5 и CSS3. Однако в Leaflet отсутствуют функции, поддерживаемые OpenLayers, такие как Web Feature Service (WFS) и встроенная поддержка проекций, отличных от Google Web Mercator (EPSG 3857).
Это также сопоставим с проприетарным закрытым исходным кодом Google Maps API (дебютировал в 2005 году), и оба из них включают в себя значительный серверный компонент для предоставления таких услуг, как геокодирование, маршрутизация, поиск и интеграция с такими функциями, как Google Earth. Google Maps API обеспечивает скорость и простоту, но не является гибким и может использоваться только для доступа к сервисам Google Maps. Однако новая часть DataLayer API Google позволяет отображать внешние источники данных.
Leaflet начал свою жизнь в 2010 году как «API веб-карт», библиотека JavaScript для сопоставления CloudMade провайдер, в котором в то время работал Агафонкин. В мае 2011 года CloudMade анонсировала первую версию Leaflet, созданную с нуля, но с использованием частей старого кода API.