Le monde du WebMapping évolue, et, clairement, il n’y a pas que Leaflet dans la vie. Aujourd’hui, on va donc parler de tuiles vectorielles, de MapLibre et de MapTiler.
En avant pour un petit tuto !
La carte
Objectif
Depuis quelques années, il est possible d’utiliser des tuiles vectorielles pour les fonds de carte. Ce type de tuile permet notamment aux développeurs de personnaliser le style des cartes. Il est aussi possible d’auto-héberger les fichiers de styles, généralement au format JSON.
Pour les débutants, le mieux est de commencer avec des fournisseurs en ligne, comme MapTiler.
L’objectif ici sera simplement d’afficher une carte, avec un fond de carte utilisant des tuiles vectorielles. La gestion des données viendra un peu plus tard.
MapLibre sert à afficher la carte. MapTiler fournit ici les ressources cartographiques.
Le code
Code pour le CDN
<script src="https://unpkg.com/maplibre-gl@^5.24.0/dist/maplibre-gl.js"></script>
<link href="https://unpkg.com/maplibre-gl@^5.24.0/dist/maplibre-gl.css" rel="stylesheet" />
Le code HTML
<div id="map"></div>
Le code CSS
#map {
display: block;
width: 500px;
height: 500px;
border: solid 1px black;
}
Le code JavaScript
var map = new maplibregl.Map({
container: 'map', // container id
style: 'https://api.maptiler.com/maps/streets-v4/style.json?key=####', //style MapTiler
center: [2.895556, 42.698611], // starting position [lng, lat]
zoom: 10 // starting zoom
});
Explication
Le code est assez trivial. Les habitués de Leaflet n’auront aucun mal à le comprendre.
D’abord, il fait créer une variable qui permettra d’instancier l’objet MapLibre.
Le container correspond à la div qui accueille la carte. Son identifiant est utilisé ici.
Le style permet de gérer le fond de carte. Ici j’utilise un fond fourni par MapTiler. Pour cela, il faut créer un compte sur le site de MapTiler et récupérer une clé API. La clé doit être passée à la fin de l’URL (les ####).
Le center correspond aux coordonnées du centre de la carte. Il faudra évidemment les choisir en fonction de vos besoins. On verra dans d’autres tutoriels comment automatiser cette tâche.
Le zoom définit, comme son nom l’indique, le niveau de zoom au chargement de la carte. Les valeurs vont de 0 (le monde entier) à 22 (quelques pâtés de maisons).
Vous avez à présent le code nécessaire pour une première carte toute simple. Il ne reste plus qu’à la décorer et à la rendre interactive.
La suite dans un prochain tutoriel.
Liens
- Documentation de QGIS sur les tuiles vectorielles : https://docs.qgis.org/3.44/fr/docs/user_manual/working_with_vector_tiles/vector_tiles.html?utm_source=chatgpt.com
- OpenStreetMap et les tuiles vectorielles : https://wiki.openstreetmap.org/wiki/FR:Passer_aux_tuiles_vectorielles
- Le site de MapLibre : https://maplibre.org/
- Le site de MapTiler : https://www.maptiler.com/fr/
Laisser un commentaire