Leaflet
Cet article est en construction: un auteur est en train de le modifier.
En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.
Leaflet
Leaflet est une bibliothèque JavaScript open source permettant d'ajouter des cartes interactives adaptées aux mobiles.
Version
La version actuelle de Leaflet est la 1.6.0 du 17 novembre 2019.
Installation
Avant de coder la carte à proprement parler, il est nécessaire de préparer sa page HTML comme suit:
Préparation de la page
- Inclure le fichier CSS Leaflet dans la balise <head> du document
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css"
integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
crossorigin=""/>
- Inclure le fichier JavaScript Leaflet après le fichier CSS Leaflet
<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js"
integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew=="
crossorigin=""></script>
Insertion de la carte
Pour insérer la carte à l'endroit souhaité, utilisez le code suivant:
<div id="mapid"></div>
Taille de la carte
Pour s'assurer que le contenant de la carte ait une hauteur définie, entrez ce code en le saisissant dans le CSS par exemple.
#mapid { height: 180px; }
Paramétrage de la carte
Pour créer une carte, il est nécessaire de définir ses coordonnées géographiques et un niveau de zoom. La carte utilise Mapbox Streets.
var mymap = L.map('mapid').setView([51.505, -0.09], 13);
Les coordonnées dans l'exemple correspondent au centre de Londres.
Par défaut, toutes les interactions avec la souris et le clic sur la carte sont activées. Un contrôle du niveau zoom est présent d'office, sans avoir besoin d'effectuer d'autres paramétrages.
Mapbox Streets
La création de tuiles implique généralement la définition du modèle d'URL pour les images, le texte d'attribution et le niveau de zoom maximal de la couche. Dans cet exemple, mapbox/streets-v11tuiles de l'API Static Tiles de Mapbox est utilisé.
Note: pour pouvoir utiliser Mapbox, il faut demander un jeton d'accès.
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 18,
id: 'mapbox/streets-v11',
accessToken: 'your.mapbox.access.token'
}).addTo(mymap);