Mapbox GL JS vs. Mapbox.js

à Partir de la Mapbox glossaire, Mapbox.js

Mapbox.js est une bibliothèque JavaScript qui vous permet d'ajouter une carte interactive à votre site web. C'est un plugin pour tract, et c'est une bibliothèque open source qui est libre d'utiliser.

et Mapbox GL JS

Mapbox GL JS est une bibliothèque JavaScript qui utilise Mapbox GL pour rendre des cartes interactives. C'est une bibliothèque open source qui est gratuit à utiliser. Vous pouvez ajoutez un style Mapbox ou un style personnalisé créé avec Mapbox Studio à votre application Mapbox GL JS.

et cette réponse

les Styles Mapbox sont à utiliser avec Mapbox GL et les iOS natifs et SDK Android. Vous ne pouvez pas les utiliser avec Classic Mapbox JS. Mapbox js supporte les tuiles raster, vous ne pouvez pas les coiffer. Ils sont juste des images. Mapbox GL et les SDK natifs (can) utilisent des tuiles vectorielles et celles-ci sont stylables.

je crois que je peux utiliser mapbox.js en remplacement de la leafletcss et js sources, mais je peux faire la même chose avec <!--4?

quelles autres différences y a-t-il entre les deux bibliothèques?

42
demandé sur Community 2016-01-28 21:59:08

4 réponses

autant que je sache, Mapbox GL JS va être le remplacement de la Mapbox js actuelle qui utilise le dépliant à l'arrière-plan. Beaucoup de choses dépliant fait, GL peut faire aussi et plus. Mais pas tout. Il en va de même vice-versa. GL peut faire des choses Notice ne peut pas faire. La grande chose dans GL est qu'il est construit autour de tuiles vectorielles en utilisant WebGL. À partir de l'introduction de l'article:

annonce de Mapbox GL JS - un nouveau système rapide et puissant pour les cartes web. Mapbox GL JS est un client-side renderer, donc il utilise JavaScript et WebGL pour dessiner dynamiquement des données avec la vitesse et la douceur d'un jeu vidéo. Au lieu de fixer les styles et les niveaux de zoom au niveau du serveur, Mapbox GL met la puissance en JavaScript, permettant un style dynamique et une interactivité libre. Les cartes vectorielles sont la prochaine évolution, et nous sommes impatients de voir ce que les développeurs construisent avec ce cadre.

Si vous voulez vraiment une comparaison des deux, je suis désolé, aucun n'est aussi loin que je sache. Il ya trop de choses à mentionner/considérer lors de la réalisation d'une comparaison, il est donc préférable que vous faites une telle chose par vous-même en fonction de vos propres exigences. Un bon début serait de comparer les exemples pour chaque cadre, car il donne une bonne idée de ce que les deux peuvent faire:

Après cela, vous pourrez comparez leurs API:

une chose à garder à l'esprit est que GL est flambant neuf et comme nous les développeurs savons tous qui vient avec un prix. Quelques petits défauts n'ont pas été aplanies. Quant à la notice, elle est très mature, largement utilisée et très bien testée/éprouvée. Si vous voulez jeter un oeil à quels problèmes il y a actuellement, avec GL, vous pouvez jeter un coup d'oeil aux problèmes de Github, dans le dépôt:

Hope qui aide, bonne chance!

36
répondu iH8 2018-04-08 09:13:38

iH8 la réponse est grande, pour ajouter un peu plus de détails:

cartes de base, Mapbox.js affiche des Fichiers raster tiles (PNG & JPEG), et les affiche en utilisant HTML & CSS. Mapbox GL js affiche les tuiles vectorielles (tampons de protocole de fantaisie) et les affiche en utilisant WebGL. Il peut aussi afficher des carreaux de grillage, mais ce n'est pas le foyer.

Les Deux Mapbox.js et Mapbox GL js supportent des superpositions comme des couches Géojson et des marqueurs. Les deux sont open source, avec des licences similaires et quelques partagé contributeurs.

les styles pour Mapbox.les couches js sont stockées sur des serveurs et rendues avec la technologie de serveur. Les styles pour Mapbox GL JS sont rendus dynamiquement dans un navigateur, de sorte qu'ils peuvent être changés en temps réel.

le dépliant a un navigateur plus large prise en charge, au prix de quelques choses que certains navigateurs ne peuvent pas prendre en charge, comme l'inclinaison de la carte et la rotation. Mapbox GL prend en charge les navigateurs qui prennent en charge WebGL et offre les meilleurs résultats sur les nouveaux ordinateurs. Il a une version native, appelée Mapbox GL Native, qui fonctionne vraiment bien sur tous les téléphones mobiles.

malgré les noms, Vous pouvez utiliser la notice avec Mapbox et Mapbox.js et Mapbox GL avec des styles non-Mapbox.

21
répondu tmcw 2017-07-15 21:21:56

généralement Leafletjs et Mapbox.js sont les mêmes, mais avec Mapbox.js ayant des plugins et des extensions qui enveloppent dépliant et lient dans les services de Mapbox (par exemple directions). Des plugins et des fonctionnalités similaires existent d'autres entreprises ou produits et tract peut les utiliser en plus, ou à la place de Mapbox. Les bibliothèques basées sur des dépliants ont généralement un meilleur support de navigateur, utilisent des tuiles matricielles, etc. Que ces caractéristiques sont ajoutées qui incorporent des caractéristiques modernes comme vector tuiles (pbf, mvt, etc) et divers locataires (y compris webgl).

Mapbox-gl-js et la variante native mapbox-gl sont des bibliothèques open-source que sont haute performance, hautement optimisés autour des tuiles vectorielles (pbf, mvt) et webgl pour le rendu dans un élément de toile (pour la variante-js). Il est relativement nouveau de sorte que certaines choses qui sont faciles avec le dépliant pourrait être différent ou difficile (à partir d'avril 2016), qui dit qu'ils sont très similaires et fonctionnent assez bien, y compris sur les appareils mobiles

si la suppression de l'ancien support du navigateur est acceptable, la route Mapbox-gl(-js) peut être un bon choix. Dans mon expérience limitée (travailler avec elle quelques mois) il a la meilleure expérience utilisateur+développeur dans l'ensemble et Mapbox a été cohérente dans leur ingénierie / production. J'ai moins d'expérience avec leurs services payants et il est difficile de savoir comment étroitement couplée leurs bibliothèques seront à ces services. Pour un projet mobile, j'ai déménagé à mapbox-gl-js après recherche sur Google Maps, Dépliant v0.7 et v1 et il semble avoir été une bonne décision.

J'ai commencé à utiliser Mapbox-gl-js avec une expérience et une compétence préalables en HTML/CSS/JS et j'ai trouvé l'apprêt et exemples tous deux utiles pour comprendre détails techniques. Y compris la façon dont la carte est présentée avec JSON (pas CSS). Aussi jeter un oeil de près les conditions de service, cela a été un facteur de différenciation surtout par rapport à Google. Les services de Mapbox n'ont pas la couverture la plus robuste à l'extérieur des États - Unis, alors assurez-vous d'en donner un aperçu aussi bien (d'après mon expérience, un autre fournisseur est généralement disponible, donc cela n'affecte pas nécessairement la décision d'adopter les bibliothèques, ils sont juste très étroitement liés à Mapbox caractéristiques ou normes).

12
répondu jimmont 2016-08-03 08:49:20

je travaille actuellement sur la commutation d'un système de carte complexe basé sur des dépliants vers Mapbox GL et je dirais qu'une différence notable que j'ai trouvé est dans les outils de dessin et la manipulation des couches de GeoJSON. Le dépliant a une suite d'outils de dessin qui comprennent des marqueurs Géojson non standard, comme des rectangles et des cercles. Les développeurs de Mapbox GL ont pris la décision de se concentrer sur natif GeoJSON, ce qui signifie qu'il n'y a pas de support de dessin / rendu des cercles et des rectangles (par exemple, il n'y a rien comme L. Circle in Mapbox GL); il existe un marqueur, mais son style pour ressembler à un marqueur à Feuillet traditionnel nécessite la création de vos propres sprites ou l'utilisation d'un SVG. Toutes ces choses sont encore possibles, mais ils prennent un peu plus mis en place de la part du développeur que ce qu'ils ont fait dans le dépliant.

de plus, la plupart des couches GL de la Mapbox sont rendues comme des éléments de toile. Cela signifie que, contrairement à tract, il n'y a pas D'éléments HTML associés à vos différentes couches. Cela rend plus difficile la cibler les éléments avec CSS si nécessaire. Une exception que j'ai trouvé ici est les marqueurs qui sont rendus comme des éléments HTML séparés.

tout cela étant dit, j'ai été en mesure de reproduire presque entièrement les outils de dessin existants et les styles de rendu avec quelques petites différences. Si vous avez besoin d'outils de dessin très personnalisés, Mapbox GL peut être frustrant pour vous.

le support du navigateur a également été mentionné comme un problème potentiel. Un navigateur supporte WebGL peut exécuter Mapbox GL. Cela inclut tous les principaux navigateurs. Le seul jeu de navigateur significatif que nous avons vu qui ne supportait pas Mapbox GL était IE10 ou plus ancien, mais nos analyses ont indiqué que presque aucun de nos utilisateurs n'utilisait encore ces navigateurs, donc nous avons officiellement abandonné le support pour eux. Votre kilométrage peut évidemment varier.

dans l'ensemble cependant, je suis satisfait du commutateur parce que je pense que Mapbox GL est plus facile à travailler avec et fournit une meilleure expérience utilisateur.

3
répondu Ryan Hamley 2018-01-18 21:40:43