rodolpheg

Untitled

Feb 12th, 2020
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Carte choroplèthe</title>
  5. <meta charset="utf-8" />
  6. <!-- Chargement de la bibliothèque de programmation Leafletjs.com -->
  7. <script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
  8. <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"/>
  9. <!-- Chargement d'un plugin installé localement (qui nous sera utile pour charger des GeoJSON), télécharger ici : https://github.com/calvinmetcalf/leaflet-ajax et à copier dans un dossier 'plugins' créé pour l'occasion dans le même dossier que votre fichier index.html -->
  10. <script src="leaflet.ajax.min.js"></script>
  11. <style>
  12. html, body {height: 100%; margin: 0;}
  13. #DivCarte { width: 100%; height: 100%; }
  14. </style>
  15. </head>
  16. <body>
  17. <!-- Créons un emplacement (<div> en HTML) où résidera notre carte -->
  18. <div id='DivCarte'></div>
  19. <script>
  20. // Tout est en JavaScript à l'intérieur de cette balise !
  21. // Création de la carte Leaflet que l'on nomme "maCarte". Lorsque nous avons initialisé la bibliothèque de programmation Leaflet, "L" a été automatiquement défini comme étant un objet de la bibliothèque cartographique de Leaflet. ".map" est une des nombreuses fonction de cette bibliothèque (https://leafletjs.com/reference-1.6.0.html#map-l-map). Cette fonction requiert une information sur l'emplacement, dans le code HTML, où nous souhaitons voir apparaître la carte (son <div>)
  22. var maCarte = L.map('DivCarte');
  23. // Avec "L.tileLayer", nous créons un objet contenant un fond de carte. En l'occurence, un fond de carte sous forme de tuiles ("tiles") en utilisant l'API de MapBox (qui nécéssite de s'inscrire à www.mapbox.com).
  24. // Dans la ligne ci-dessousm remplacez VOTRE_CLEF par l'"Access Token" que vous créerez ici : https://account.mapbox.com
  25. var fondDeCarte = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=VOTRE_CLEF', {
  26. // afficher les référence de la carte. Dans ce cas, nous utilisons l'API MapBox pour afficher une carte issue des données produites par les contributeurs/trices d'Open Street Map
  27. attribution: 'Fond de carte &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
  28. '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
  29. 'via © <a href="https://www.mapbox.com/">Mapbox</a>',
  30. // Choisir le style de carte. pour utiliser un style personnalisé : 'nom_utilisateur/clef_du_style' à récupérer ici : studio.mapbox.com
  31. id: 'mapbox/light-v10'
  32. }
  33. );
  34. // On attache le fond de carte créé plus haut à notre objet "maCarte"
  35. maCarte.addLayer(fondDeCarte);
  36. // On indique le placement par défaut de la vue de l'objet "maCarte"
  37. maCarte.setView([45.523,-73.620], 11);
  38.  
  39. // Importation d'une couche GeoJSON grâce au plugin "leaflet-ajax"
  40. // Utilisation de onEachFeature pour attribuer une fonction à chaque entité : https://leafletjs.com/reference-1.6.0.html#geojson-oneachfeature
  41. var poly = new L.GeoJSON.AJAX('Montreal_v0743.json');
  42. poly.addTo(maCarte);
  43. // Ajout de la référence pour les données
  44. maCarte.attributionControl.addAttribution('Données &copy; <a href="http://statisticscanada.ca/">Statistiques Canada</a>');
  45. </script>
  46. </body>
  47. </html>
Advertisement
Add Comment
Please, Sign In to add comment