- haut = 400 : hauteur
- style = 14189 : style de carte. Voir http://maps.cloudmade.com/editor
- boite = oui : affiche la boite avec calques et types
+ - popup = oui : autoriser les popups
+ - images = oui : afficher les images
+ - groupe = XXXX : Groupe de mot-clé dont il faut générer la carte
+ - lien = oui : Lien automatique vers la grande carte
+ - iframe = oui : Affichage du code iframe par défaut
+ - loc = non : Affichage du popup de localisation
]
<!-- Carte -->
<div id="map" style="[(#ENV{larg}|oui) width: [(#ENV{larg}|sinon{'540'})px;]] height: [(#ENV{haut}|sinon{'400'})]px">
-<script src="[(#CHEMIN{lib/CloudMade-Leaflet-edb7d25/dist/leaflet.js}|url_absolue)]"></script>
+<script src="[(#CHEMIN{lib/CloudMade-Leaflet-538dfb4/dist/leaflet.js}|url_absolue)]"></script>
<script>
-<BOUCLE_ateliers_types(MOTS){type = Ateliers}{par num titre}>
- var group_#ID_MOT = new L.LayerGroup();
- <BOUCLE_sites(SITES){id_mot}>
- <BOUCLE_coord(GIS){id_syndic}>
- var WorkshopIcon = L.Icon.extend({
- iconUrl: '[(#LOGO_MOT||extraire_attribut{src}|url_absolue)]',
- shadowUrl: '[(#LOGO_MOT_SURVOL||extraire_attribut{src}|url_absolue)]',
- iconSize: new L.Point(17, 28),
- shadowSize: new L.Point(17, 17),
- iconAnchor: new L.Point(13, 17),
- popupAnchor: new L.Point(0, -33)
- });
- siteIcon = new WorkshopIcon()
- var markerAtelier = new L.Marker(new L.LatLng(#LAT, #LON), {icon: siteIcon});
- markerAtelier.bindPopup("\
- <span style='float: left; width: 45px;'><img src='[(#LOGO_SYNDIC||extraire_attribut{src}|url_absolue)]' alt='' style='width: 45px;' width='45'></span>\
- <a href='[(#ID_SYNDIC|generer_url_entite{site})]'>#TITRE</a><br/>#DESCRIPTIF\
- <span class='spip_documents spip_documents_right' style='float: right; width: 100px;'>\<img src='[(#LOGO_SYNDIC_SURVOL||extraire_attribut{src}|url_absolue)]' alt='' style='width: 100px;' width='100'></span>\
- #ADRESSE<br/> #CODE_POSTAL #VILLE<br/>\
- <a href='#URL_SITE'>#NOM_SITE - #URL_SITE</a><br/><br/>\
- <em>Statut: [(#_ateliers_types:TITRE|supprimer_numero)]</em>\
- ");
- group_#ID_MOT.addLayer(markerAtelier)
- </BOUCLE_coord>
- </BOUCLE_sites>
-</BOUCLE_ateliers_types>
-
- var cloudmadeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade',
- cloudmadeOptions = {maxZoom: 18, attribution: cloudmadeAttribution},
- cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/{styleId}/256/{z}/{x}/{y}.png';
+ <BOUCLE_mots_types(MOTS){type = (#ENV{groupe})}>
+ var group_#ID_MOT = new L.LayerGroup();
+ <BOUCLE_sites(SITES){id_mot}>
+ <BOUCLE_coord(GIS){id_syndic}>
+ var templateIcon = L.Icon.extend({
+ iconUrl: '[(#LOGO_MOT||extraire_attribut{src}|url_absolue)]',
+ shadowUrl: '[(#LOGO_MOT_SURVOL||extraire_attribut{src}|url_absolue)]',
+ iconSize: new L.Point(17, 28),
+ shadowSize: new L.Point(17, 17),
+ iconAnchor: new L.Point(13, 17),
+ popupAnchor: new L.Point(0, -33)
+ });
+ gisIcon = new templateIcon()
+ var markerGis = new L.Marker(new L.LatLng(#LAT, #LON), {icon: gisIcon});
+ [(#ENV{popup}|!={non}|oui)
+ markerGis.bindPopup("[(#ENV{images}|!={non}|oui)<span style='float: left; width: 45px;'><img src='[(#LOGO_SYNDIC||extraire_attribut{src}|url_absolue)]' alt='' style='width: 45px;' width='45'></span>]<h4>#TITRE</h4>#DESCRIPTIF[(#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='' style='width: 100px;' width='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>");
+ ]
+ group_#ID_MOT.addLayer(markerGis)
+ </BOUCLE_coord>
+ </BOUCLE_sites>
+ </BOUCLE_mots_types>
+
+ var cloudmadeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade<br/>[(#ENV{lien}|!={non}|oui)(<a href="#URL_SITE_SPIP/?page=carte_de_sites_plein&lien=non&groupe=#ENV{groupe}&boite=oui&haut=900[&coord=(#ENV{coord})][&zoom=(#ENV{zoom})][&legende=(#ENV{legende})]" rel="external" target="_blank">Voir la carte en plus grand</a>)]',
+ cloudmadeOptions = {maxZoom: 18, attribution: cloudmadeAttribution},
+ cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/{styleId}/256/{z}/{x}/{y}.png';
- var midnightCommander = new L.TileLayer(cloudmadeUrl, cloudmadeOptions, {styleId: 999}),
- minimal = new L.TileLayer(cloudmadeUrl, cloudmadeOptions, {styleId: [(#ENV{style}|sinon{'14189'})]});
+ var midnightCommander = new L.TileLayer(cloudmadeUrl, cloudmadeOptions, {styleId: 999}),
+ minimal = new L.TileLayer(cloudmadeUrl, cloudmadeOptions, {styleId: [(#ENV{style}|sinon{'14189'})]});
+ //Construction de la carte
+ var map = new L.Map('map');
+ map.setView(new L.LatLng([(#ENV{coord}|sinon{'46.8,2.52'})]),[(#ENV{zoom}|sinon{5})]).addLayer(minimal);
+
+ //Ajout des marqueurs
+ <BOUCLE_map(MOTS){type = (#ENV{groupe})}{!par num titre}>
+ map.addLayer(group_#ID_MOT);
+ </BOUCLE_map>
- <B_map>
- var map = new L.Map('map', {center: new L.LatLng([(#ENV{coord}|sinon{'46.8,2.52'})]), zoom: [(#ENV{zoom}|sinon{5})], layers: [<BOUCLE_map(MOTS){type = Ateliers}> group_#ID_MOT,</BOUCLE_map> midnightCommander, minimal]});
- </B_map>
-
-
- var baseMaps = {
- "Vue de nuit ;-)": midnightCommander,
- "Vue de jour": minimal
- };
-
-<B_groups>
- var overlayMaps = {
- <BOUCLE_groups(MOTS){type = Ateliers}{par num titre}>
- "[(#TITRE|supprimer_numero)]": group_#ID_MOT,</BOUCLE_groups>
- };
-</B_groups>
-
-
- layersControl = new L.Control.Layers(baseMaps, overlayMaps);
-
[(#ENV{boite}|!={non}|oui)
- map.addControl(layersControl);
- ]
+ <INCLURE{fond=inclure/boite}{env}>
+ ]
- map.on('click', onMapClick);
+ [(#ENV{loc}|!={oui}|non)
+ map.on('click', onMapClick);
- var popup = new L.Popup();
- function onMapClick(e) {
- var latlngStr = '(' + e.latlng.lat.toFixed(5) + ', ' + e.latlng.lng.toFixed(5) + ')';
- popup.setLatLng(e.latlng);
- popup.setContent("Coordonnees de votre clic (Latitude, Longitude)" + latlngStr);
- map.openPopup(popup);
- }
+ var popup = new L.Popup();
+
+ function onMapClick(e) {
+ var latlngStr = '(' + e.latlng.lat.toFixed(5) + ',' + e.latlng.lng.toFixed(5) + ')';
+ popup.setLatLng(e.latlng);
+ popup.setContent("Coordonnees de votre clic (Latitude, Longitude)" + latlngStr);
+ map.openPopup(popup);
+ }
+ ]
</script>
</div>
-<!-- Legende -->
+[(#ENV{iframe}|!={non}|oui)
+<INCLURE{fond=inclure/iframe_carte}{ajax}{env}>
+]
<B_legende>
+<!-- Legende -->
[(#ENV{legende}|!={non}|oui)
<h2 class='h2 spip'>Legende</h2>
]
-<BOUCLE_legende(MOTS){type = Ateliers}{par num titre}>
+<BOUCLE_legende(MOTS){type = (#ENV{groupe})}{par num titre}>
[(#ENV{legende}|!={non}|oui)
- <p>#LOGO_MOT_NORMAL [(#TITRE|supprimer_numero)]</p>
- ]
+ <p>#LOGO_MOT_NORMAL [(#TITRE|supprimer_numero)]</p>
+ ]
</BOUCLE_legende>
</B_legende>