Débuter avec Leaflet!
Cette présentation est sur http://maptime-alpes.com/ leaflet-first-webmap.
Elle est fortement inspirée de la présentation de @lyzidiamond.
Salut! je suis Arnaud. Je vie à Grenoble. Je travaille chez esri France. Je participe à Maptime Alpes.
Parlons de web maps!
Qu'est ce qu'une web map?
Avant tout: une web map est une carte sur le web.
(Heu.)
Comment mettre des cartes sur le web?
HTML!
Le HTML est le langage des sites web.
Mais quand nous pensons web maps, nous pensons interactivité. Nous pensons...
Google Maps!
Je me trompe?
Nous voulons de l'interactivité. Nous voulons que les utilisateurs agissent avec nos cartes.
Comment ajoute-t-on de l'interactivité sur le web?
Javascript!
Mais revenons à la base et parlons d'une web map.
Une partie des diapos viennent de la présentation donnée ici par Adam Roberts Anatonomie d'une Web Map.
Parlons d'abord de tuiles.
Tuiles Raster (images), souvent. Tuiles Vectorielle dans certains cas.
"... web maps sont constituées de nombreuses images carrées appelées tuiles."
"Ces tuiles sont généralement de 256x256 pixels, et sont positionnées côte à côte afin de créer une grande image."
Merci MapBox pour l'explication !
Toutes ces tuiles se chargent plus vite qu'une seule grande image.
Cela permet ensuite de repositionner la carte avec fluidité.
Chaque niveau de zoom a son propre jeu de tuiles.
Niveau de zoom 0: 1 tuile pour le monde.
A chaque niveau de zoom, le nombre de tuile augmente exponentiellement.
Niveau de zoom 1: 4 tuiles pour le monde.
Niveau de zoom 2: 16 tuiles pour le monde.
... vous avez compris l'idée.
Les cartes tuilées sont des images statiques sur internet.
Super! Quel est le rapport avec Leaflet?
Ces fichiers existent quelque part sur une page web. Ils doivent savoir quand se charger et quand réagir aux clics et autres tirer/glisser.
Leaflet est une librairie Javascript permettant de faire cela.
Ajouter des libraries Javascript dans vos pages c'est étendre les possibilités de votre code.
Vous avez accès grâce à la librairie à de nombreux outils pour créer des cartes et leur donner des fonctionnalités usuelles.
Pour tout savoir sur Leaflet allez sur leafletjs.com.
Première chose que nous allons faire avec Leaflet: créer un conteneur de carte.
var map = L.map('leaflet-map');
'leaflet-map'
fait référence à un div où la carte va se positionner.
Mais c'est vide. Nous n'avons ajouté aucune tuile. Allons y!.
Il existe de nombreux jeux de tuiles gratuits sur internet. Nous allons utiliser un jeu de Stamen.
var map = L.map('leaflet-map').
setView([45.18, 5.72], 13);

L.tileLayer('http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.png').
addTo(map);
Nous avons ajouté des tuiles, et centré la carte sur Grenoble, avec un niveau de zoom.
Nous avons ainsi une carte de référence sans information, mais une carte tout de même.
Que pouvons nous montrer sur la carte? Peut être CoWork où nous sommes.
Nous pouvons le faire!
L.marker([45.19129, 5.73332]).addTo(map);
Nous avons ajouté un marker aux coordonnées lat/lon de CoWork sur la carte.
Dernière chose: ajoutons une popup au marker. Un clic affichera des informations.


L.marker([45.19129, 5.73332])
.bindPopup("CoWork").addTo(map);
Associons une popup au marker indiquant ainsi CoWork.
C'est fait! Nous avons créer une web map!
Vous pouvez trouver cet exemple sur http://maptime-alpes.com/leaflet-first-webmap/map.html.
Est-ce que c'est fun?!
Vous allez maintenant faire votre carte!
Allez sur http://jsbin.com/hivula
Aide leaflet: http://leafletjs.com
URL pour les tuiles Stamen watercolor
'http://{s}.tile.stamen.com/
watercolor/{z}/{x}/{y}.png'
Centrer la carte sur Grenoble lat/lon [45.18, 5.72] et zoom 13
Pour vérifier http://jsbin.com/voqete/
Maintenant ajoutez un marker au coordonnées suivantes : 45.19129° N, 5.73332° E
Pour vérifier http://jsbin.com/dezopu
Ajoutons d'autres fonds de plan http://leaflet-extras.github.io/leaflet-providers/preview/
Voici avec une combo de sélection http://jsbin.com/pexati
Autre solution plus intégrée à leaflet http://jsbin.com/cemimo
Vous retrouverez les sources, la présentation sur https://github.com/MaptimeAlpes/ leaflet-first-webmap
Merci pour votre participation!
N'hésitez pas à me contacter sur Twitter @arferrand!