5 - fullscreen = non : afficher ou ne pas afficher le contrôle fullscreen
6 - legende = oui : afficher ou ne pas afficher la légende
7 - lat =
46.8 : latitude du centre de la carte
8 - lon =
2.52 : longitude du centre de la carte
9 - zoom =
5 : niveau de zoom (pour repère:
1 = la carte du monde;
15 = quartier)
10 - larg =
100% : largeur de la carte en pixel ou en pourcentage
11 - haut =
400 : hauteur de la carte en pixel ou en pourcentage
12 - style =
14189 : style de carte. Voir http://maps.cloudmade.com/editor . Si vous mettez en place une super carte pour les cyclistes, on est preneur.
13 - boite = oui : afficher ou pas la boite avec calques et types
14 - popup = oui : afficher ou pas les popups de description des ateliers
15 - images = oui : afficher ou pas les images (logo, photo de l'atelier)
16 - lien = oui : Lien automatique vers la grande carte
17 - iframe = oui : Afficher ou non le lien vers le code iframe
18 - loc = non : Afficher ou non le popup de localisation
19 - champ_lat : Prend l'identifiant d'une balise html en argument. Change la valeur (value) de cette balise par la latitude cliquee
20 - champ_lon : Prend l'identifiant d'une balise html en argument. Change la valeur (value) de cette balise par la longitude cliquee
25 <div id=
"map" style=
"[(#ENV{larg}|oui) width: [(#ENV{larg}|sinon{'540'})px;]] height: [(#ENV{haut}|sinon{'400'})]px">
27 <script src=
"[(#CHEMIN{lib/leaflet/dist/leaflet.js}|url_absolue)]" type=
"text/javascript"></script>
28 <script src=
"[(#CHEMIN{lib/leaflet/plugins/Control.FullScreen.js}|url_absolue)]" type=
"text/javascript"></script>
32 <BOUCLE_mots_types(MOTS){type = (#ENV{groupe})}
>
33 var group_#ID_MOT = new L.LayerGroup();
34 var templateIcon = L.Icon.extend({
36 iconUrl: '[(#LOGO_MOT||extraire_attribut{src}|url_absolue)]',
37 shadowUrl: '[(#LOGO_MOT_SURVOL||extraire_attribut{src}|url_absolue)]',
38 iconSize: new L.Point(
17,
28),
39 shadowSize: new L.Point(
17,
17),
40 iconAnchor: new L.Point(
13,
17),
41 popupAnchor: new L.Point(
0, -
33)
44 gisIcon = new templateIcon()
45 <BOUCLE_sites(SITES){id_mot}
>
46 <BOUCLE_coord(GIS){id_syndic}
>
47 var markerGis = new L.Marker(new L.LatLng(#LAT, #LON), {icon: gisIcon});
48 [(#ENV{popup}|!={non}|oui)
49 markerGis.bindPopup(
"[(#ENV{images}|!={non}|oui)<span style='float: left; width: 45px;'><img src='[(#LOGO_SYNDIC||extraire_attribut{src}|url_absolue)]' alt='' width='100%' height='100%'></span>]<h4>#TITRE</h4>[<p>(#DESCRIPTIF|attribut_html)</p>][(#ENV{images}|!={non}|oui)<span class='spip_documents spip_documents_right' style='float: right; width: 100px;'>\<img src='[(#LOGO_SYNDIC_SURVOL||extraire_attribut{src}|url_absolue)]' alt='' width='100px' height='100%'></span>]#ADRESSE<br/> #CODE_POSTAL #VILLE<br/><a href='#URL_SITE' target='_blank'>#NOM_SITE - #URL_SITE</a><br/><br/><em>Statut: [(#_mots_types:TITRE|supprimer_numero)]</em>");
51 group_#_mots_types:ID_MOT.addLayer(markerGis)
56 var cloudmadeAttribution = 'Map data
© OpenStreetMap contributors
<br/>[(#ENV{lien}|!={non}|oui)(
<a href=
"#URL_SITE_SPIP/?page=carte_de_sites_plein&lien=non&groupe=#ENV{groupe}&boite=oui&haut=400[&lat=(#ENV{lat})][&lon=(#ENV{lon})][&zoom=(#ENV{zoom})][&legende=(#ENV{legende})]" rel=
"external" target=
"_blank"><:carte_de_sites:grande_carte:></a>)]',
57 cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/{styleId}/
256/{z}/{x}/{y}.png';
59 var osmfr = new L.TileLayer('https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', {attribution: cloudmadeAttribution});
61 //Construction de la carte
62 var map = new L.Map('map');
63 map.setView(new L.LatLng([(#ENV{lat}|sinon{'
46.8'})],[(#ENV{lon}|sinon{'
2.52'})]),[(#ENV{zoom}|sinon{
5})]).addLayer(osmfr);
64 [(#ENV{fullscreen}|oui)
65 map.addControl(new L.Control.FullScreen());
69 <BOUCLE_map(MOTS){type = (#ENV{groupe})}{!par num titre}
>
70 map.addLayer(group_#ID_MOT);
73 [(#ENV{boite}|!={non}|oui)
74 <INCLURE{fond=inclure/boite}{env}
>
77 [(#ENV{loc}|!={oui}|non)
78 map.on('click', onMapClick);
80 var popup = new L.Popup();
82 function onMapClick(e) {
83 document.getElementById(
"#ENV{champ_lat}").value=e.latlng.lat.toFixed(
18);
84 document.getElementById(
"#ENV{champ_lon}").value=e.latlng.lng.toFixed(
18);
85 popup.setLatLng(e.latlng);
86 popup.setContent(
"<:carte_de_sites:coordonnees_clic:>");
94 [(#ENV{iframe}|!={non}|oui)
95 <INCLURE{fond=inclure/iframe_carte}{ajax}{env}
>
100 [(#ENV{legende}|!={non}|oui)
101 <h2 class='h2 spip'
><:carte_de_sites:legende:></h2>
103 <BOUCLE_legende(MOTS){type = (#ENV{groupe})}{par num titre}
>
104 [(#ENV{legende}|!={non}|oui)
105 <p>#LOGO_MOT_NORMAL [(#TITRE|supprimer_numero)]
</p>