Generalmente Leafletjs e Mapbox.js sono gli stessi, ma con Mapbox.js hanno plug-in ed estensioni che avvolgono Leaflet e si legano ai servizi di Mapbox (ad esempio indicazioni stradali). Plugin e funzionalità simili esistono da altre aziende o prodotti e Leaflet può utilizzarli in aggiunta o in sostituzione di Mapbox. Le librerie basate su Leaflet in genere dispongono di un supporto legacy del browser migliore, usano riquadri raster, ecc. Si aggiungono queste funzionalità che incorporano funzionalità moderne come tiles vettoriali (pbf, mvt, ecc.) E vari renderer (incluso Webgl).
Mapbox-gl-js e la variante nativo mapbox-gl sono librerie open-source che sono alte prestazioni, altamente ottimizzato intorno piastrelle vettoriali (PBF, mvt) e WebGL per il rendering in un elemento di tela (per la variante -js). È relativamente nuovo quindi alcune cose che sono facili con Leaflet potrebbero essere diverse o impegnative (ad aprile 2016), che dicono che sono molto simili e funzionano abbastanza bene, anche sui dispositivi mobili (negli ultimi anni, ad es. iphone 5s). Un esempio di una stranezza casuale è che le etichette ebraiche in Israele, che leggono da destra a sinistra, sono arretrate e sembrano assurdità (è un problema aperto che viene affrontato).
Se il supporto del browser più vecchio è a posto, il percorso Mapbox-gl (-js) può essere una buona scelta. Nella mia limitata esperienza (lavorando con esso alcuni mesi) ha la migliore esperienza utente + sviluppatore nel complesso e Mapbox è stata coerente nella loro ingegneria/produzione. Ho meno esperienza con i loro servizi a pagamento e non è chiaro in che modo le loro librerie saranno strettamente collegate a questi servizi. Per un progetto mobile mi sono spostato su mapbox-gl-js dopo aver consultato Google Maps, Leaflet v0.7 e v1 e sembra che sia stata una buona decisione.
Ho iniziato a utilizzare Mapbox-gl-js con precedente esperienza di Leaflet e competenza in HTML/CSS/JS e trovato the primer e examples entrambi utili nella comprensione dei dettagli tecnici. Compreso il modo in cui la mappa è in stile con JSON (non CSS). Dai un'occhiata anche ai termini di servizio, questo è stato un importante elemento di differenziazione positivo in particolare rispetto a Google. I servizi di Mapbox non hanno la copertura più robusta al di fuori degli Stati Uniti, quindi assicuratevi di dare qualche recensione (nella mia esperienza un altro fornitore è generalmente disponibile, quindi questo non influisce necessariamente sulla decisione di adottare le librerie, sono solo molto strettamente collegato alle funzionalità o agli standard di Mapbox).
Dopo aver giocato un po ', vorrei sottolineare che le due librerie non sono compatibili tra loro. Ad esempio, non posso usare 'mapbox.js' per aggiungere un' GeoJSON' a una mappa creata con 'mapbox-gl.js' – raphael
Entrambi sono compatibili con le specifiche di GeoJSON? Mapbox.js che utilizza GeoJSON: https://www.mapbox.com/mapbox.js/example/v1.0.0/load-geojson/ Mapbox.GL.js che utilizza GeoJSON: https://www.mapbox.com/mapbox- gl-js/example/geojson-markers/Non capisco cosa intendi usando mapbox.js su una mappa creata da gl. Ovviamente non è possibile combinare i due framework, le loro API sono completamente differenti – iH8
Leaflet 1.0 potrebbe dare a Mapbox GL una corsa per i suoi soldi: http://leafletjs.com/2015/07/15/leaflet-1.0-beta1-released. html –