Как правило, Leafletjs и Mapbox.js являются одинаковыми, но с Mapbox.js с плагинами и расширениями, которые обертывают Листовку и связывают с услугами Mapbox (например, направления). Подобные плагины и функции существуют от других компаний или продуктов, и Листовка может использовать их в дополнение к или вместо Mapbox. Библиотеки, основанные на листе, обычно имеют улучшенную поддержку браузера, используют растровые плитки и т. Д. Добавлены такие функции, которые включают современные функции, такие как векторные плитки (pbf, mvt и т. Д.) И различные средства рендеринга (включая webgl).
MapBox-GL-JS и родной вариант MapBox-Г.Л. являются открытым исходным кодом библиотеки, которые являются высокая производительность, оптимизированная вокруг векторных плитки (PBF, MVT) и WebGL для рендеринга в холст элемента (для варианта -js). Это относительно новое, поэтому некоторые вещи, которые легки в Leaflet, могут быть разными или сложными (по состоянию на апрель 2016 года), что они очень похожи и работают достаточно хорошо, , в том числе на мобильных устройствах (за последние несколько лет, например айфон 5с). Примером случайной причуды является то, что ивритские ярлыки в Израиле, которые читаются справа налево, отстают и выглядят глупостями (речь идет о открытой проблеме).
Если отказаться от поддержки старого браузера в порядке, то маршрут Mapbox-gl (-js) может быть прекрасным выбором. В моем ограниченном опыте (работа с ним несколько месяцев) он обладает лучшими возможностями для пользователей и разработчиков в целом, а Mapbox является последовательным в их разработке/выходе. У меня меньше опыта с оплаченными услугами, и неясно, насколько тесно связаны их библиотеки с этими услугами. Для мобильного проекта я перешел в mapbox-gl-js после просмотра Google Maps, Leaflet v0.7 и v1, и это, похоже, было хорошим решением.
Я начал использовать Mapbox-gl-js с опытом работы с Leaflet и властью в HTML/CSS/JS и нашел the primer и examples обе полезны при понимании технических деталей. Включение способа отображения карты с помощью JSON (а не CSS). Также внимательно ознакомьтесь с условиями обслуживания, это был важный положительный отличительный признак , особенно по сравнению с Google. Услуги Mapbox не имеют наиболее надежного покрытия за пределами США, поэтому не забудьте также дать этот обзор (по моему опыту, обычно доступен другой провайдер, поэтому это не обязательно влияет на решение принять библиотеки, они просто очень тесно связан с функциями или стандартами Mapbox).
Поиграв немного, я хотел бы подчеркнуть, что две библиотеки несовместимы друг с другом. Например, я не могу использовать 'mapbox.js' для добавления' GeoJSON' к карте, созданной с помощью 'mapbox-gl.js' – raphael
Оба совместимы с спецификацией GeoJSON? Mapbox.js с использованием GeoJSON: https://www.mapbox.com/mapbox.js/example/v1.0.0/load-geojson/ Mapbox.GL.js с использованием GeoJSON: https://www.mapbox.com/mapbox- gl-js/example/geojson-markers/Я не понимаю, что вы подразумеваете, используя mapbox.js на карте, созданной gl. Конечно, вы не можете смешивать два фреймворка, их API полностью разные. – iH8
Листовка 1.0 может дать Mapbox GL за свои деньги: http://leafletjs.com/2015/07/15/leaflet-1.0-beta1-released. html –