MapLibre GL JS: открытый форк картографической библиотеки¶
MapLibre GL JS — это свободная библиотека с открытым исходным кодом на языке JavaScript для создания интерактивных картографических веб-приложений. Она является форком библиотеки Mapbox GL JS, созданным после изменения лицензионной политики компании Mapbox в декабре 2020 года. Библиотека использует технологию WebGL для рендеринга векторных тайлов, что обеспечивает высокую производительность и плавность отображения карт в браузере.
¶История
В декабре 2020 года компания Mapbox объявила об изменении лицензии своей библиотеки Mapbox GL JS с открытой лицензии BSD на проприетарную. Это означало, что разработчики, использующие библиотеку вне экосистемы Mapbox, теряли право на её бесплатное использование. В ответ на это группа разработчиков, включая сотрудников компаний Elastic, MapTiler и Stadia Maps, создала форк исходного кода под названием MapLibre GL JS.
Первоначально проект развивался под управлением некоммерческой организации MapLibre, созданной для координации разработки. С момента основания библиотека сохранила совместимость с форматами тайлов и стилями Mapbox, что позволило существующим пользователям перейти на неё с минимальными изменениями в коде. В 2024 году проект был передан в управление фонду Linux Foundation.
¶Архитектура и технические характеристики
MapLibre GL JS построена на основе WebGL и работает с векторными тайлами, которые содержат геометрические данные и атрибуты объектов. Рендеринг происходит на стороне клиента, что позволяет динамически менять стили карты без перезагрузки страницы.
Ключевые технические особенности:
- Поддержка стилей Mapbox Style Specification — библиотека использует стандарт описания стилей, что обеспечивает совместимость с редакторами стилей и существующими конфигурациями.
- Векторные и растровые тайлы — поддерживаются источники данных в форматах MVT (Mapbox Vector Tile), GeoJSON, а также растровые изображения.
- 3D-рендеринг — возможность отображения трёхмерных объектов, таких как здания и рельеф местности.
- Плагинная архитектура — модульная структура позволяет подключать дополнительные функции, например, геокодирование или маршрутизацию.
¶Применение
Библиотека используется для создания картографических сервисов в различных сферах: от навигационных приложений и геоинформационных систем до дашбордов аналитики и визуализации данных. На ней работают карты таких проектов, как OpenStreetMap (в веб-интерфейсе), Strava, а также ряд государственных и корпоративных порталов.
MapLibre GL JS часто применяется в связке с тайл-серверами, такими как MapTiler, OpenMapTiles и self-hosted решениями на базе PostGIS и TileServer GL. Благодаря отсутствию привязки к коммерческому облачному сервису, библиотека подходит для развёртывания карт на собственной инфраструктуре, что особенно востребовано в организациях с требованиями к приватности данных.
¶Экосистема и развитие
Проект активно развивается сообществом. Регулярно выпускаются новые версии с исправлениями ошибок и добавлением функциональности. Существуют обёртки для популярных фреймворков: React (react-map-gl), Vue, Angular. Также доступны мобильные версии библиотеки для Android и iOS (MapLibre Native).
Лицензирование под BSD-3-Clause позволяет использовать библиотеку в коммерческих проектах без ограничений и отчислений правообладателю. Это делает её одной из основных альтернатив проприетарным картографическим решениям в веб-разработке.
¶Критика и ограничения
Несмотря на функциональную полноту, библиотека имеет некоторые ограничения. Основные замечания касаются сложности освоения для новичков из-за необходимости понимания спецификации стилей и работы с WebGL. Также производительность может снижаться на устройствах со слабым графическим ускорителем при отображении больших объёмов данных.
Отмечается, что проект зависит от ограниченного числа ключевых мейнтейнеров, что создаёт риски для долгосрочной устойчивости, хотя передача проекта в Linux Foundation частично снижает эти опасения.
¶Источники
- Официальная документация MapLibre GL JS
- Репозиторий проекта на GitHub
- Материалы конференции FOSS4G 2021–2023 годов
- Статья «MapLibre: The Open Source Mapbox GL JS Fork» в журнале Directions Magazine
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


