Suite

Mapbox GL JS avec des tuiles vectorielles auto-hébergées a des niveaux manquants ?

Mapbox GL JS avec des tuiles vectorielles auto-hébergées a des niveaux manquants ?


Utilisation de Mapbox GL JS avec des tuiles vectorielles auto-hébergées au format protobuf où il recherche des tuiles à l'aide des chemins {z}/{x}/{y}.pb.

J'ai un scénario où je n'ai que des données pour les niveaux de zoom 9, 11 et 13.

Existe-t-il un moyen d'empêcher Mapbox GL JS d'essayer de charger d'autres niveaux de zoom ?

En ce moment, je reçois un tas de 404 au niveau de zoom 12 par exemple.


En regardant la documentation, il y aminZoometmaxZoomoptions disponiblesmapboxgl.Carteobjet. Réglez-les respectivement sur 9 et 13 et les utilisateurs ne pourront pas zoomer au-delà de ces points.

En ce qui concerne le saut des zooms 10 et 12, vous pouvez écouter l'événement de zoom, tester si le nouveau zoom est 10 ou 12 et forcer la carte à passer au zoom suivant. (Je ne sais pas à quoi ressemble l'événement de zoom en interne, mais il doit contenir toutes les données nécessaires : zoom précédent et nouveau zoom. Lancez-le sur un jsfiddle et je vais y jeter un œil)

Cela étant dit, forcer les utilisateurs à sauter un niveau de zoom semble être une mauvaise interface utilisateur. Je ne le recommanderais pas à moins qu'il n'y ait vraiment aucun moyen de générer des tuiles aux zooms 10 et 12.


Voir la vidéo: Mapbox GL JS. JavaScript library that uses WebGL to render interactive maps