Des marqueurs plus petits
[lhc/web/spip_carte_de_sites.git] / contenu / page-carte_de_sites.html
1 [(#REM)
2 Modele carte_de_site
3
4 Parametres :
5
6 - legende = non : ne pas afficher la legende
7 ]
8
9 <!-- Carte -->
10 <div id="map" style="width: 540px; height: 400px">
11 <script src="[(#CHEMIN{lib/CloudMade-Leaflet-edb7d25/dist/leaflet.js}|url_absolue)]"></script>
12
13 <script>
14 <BOUCLE_ateliers_types(MOTS){type = Ateliers}{par num titre}>
15 var group_#ID_MOT = new L.LayerGroup();
16 <BOUCLE_sites(SITES){id_mot}>
17 <BOUCLE_coord(GIS){id_syndic}>
18 var WorkshopIcon = L.Icon.extend({
19 iconUrl: '[(#LOGO_MOT||extraire_attribut{src}|url_absolue)]',
20 shadowUrl: '[(#LOGO_MOT_SURVOL||extraire_attribut{src}|url_absolue)]',
21 iconSize: new L.Point(17, 28),
22 shadowSize: new L.Point(17, 17),
23 iconAnchor: new L.Point(13, 17),
24 popupAnchor: new L.Point(0, -33)
25 });
26 siteIcon = new WorkshopIcon()
27 var markerAtelier = new L.Marker(new L.LatLng(#LAT, #LON), {icon: siteIcon});
28 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})]'>#NOM_SITE</a>#_sites:DESCRIPTIF<i>#DESCRIPTIF</i><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/><br/><em>Statut: [(#_ateliers_types:TITRE|supprimer_numero)]</em>");
29 group_#ID_MOT.addLayer(markerAtelier)
30 </BOUCLE_coord>
31 </BOUCLE_sites>
32 </BOUCLE_ateliers_types>
33
34 var cloudmadeAttribution = 'Map data &copy; 2011 OpenStreetMap contributors, Imagery &copy; 2011 CloudMade',
35 cloudmadeOptions = {maxZoom: 18, attribution: cloudmadeAttribution},
36 cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/{styleId}/256/{z}/{x}/{y}.png';
37
38 var midnightCommander = new L.TileLayer(cloudmadeUrl, cloudmadeOptions, {styleId: 999}),
39 minimal = new L.TileLayer(cloudmadeUrl, cloudmadeOptions, {styleId: 14189});
40
41
42 <B_map>
43 var map = new L.Map('map', {center: new L.LatLng(46.8, 2.52), zoom: 5, layers: [<BOUCLE_map(MOTS){type = Ateliers}> group_#ID_MOT,</BOUCLE_map> midnightCommander, minimal]});
44 </B_map>
45
46 var baseMaps = {
47 "Vue de nuit ;-)": midnightCommander,
48 "Vue de jour": minimal
49 };
50
51 <B_groups>
52 var overlayMaps = {
53 <BOUCLE_groups(MOTS){type = Ateliers}{par num titre}>
54 "[(#TITRE|supprimer_numero)]": group_#ID_MOT,</BOUCLE_groups>
55 };
56 </B_groups>
57
58
59 layersControl = new L.Control.Layers(baseMaps, overlayMaps);
60
61 map.addControl(layersControl);
62
63 map.on('click', onMapClick);
64
65 var popup = new L.Popup();
66
67 function onMapClick(e) {
68 var latlngStr = '(' + e.latlng.lat.toFixed(5) + ', ' + e.latlng.lng.toFixed(5) + ')';
69 popup.setLatLng(e.latlng);
70 popup.setContent("You clicked the map at " + latlngStr);
71 map.openPopup(popup);
72 }
73
74 </script>
75 </div>
76
77 <!-- Legende -->
78
79 <B_legende>
80 [(#ENV{legende}|!={non}|oui)
81 <h2 class='h2 spip'>Legende</h2>
82 ]
83 <BOUCLE_legende(MOTS){type = Ateliers}{par num titre}>
84 [(#ENV{legende}|!={non}|oui)
85 <p>#LOGO_MOT [(#TITRE|supprimer_numero)]</p>
86 ]
87 </BOUCLE_legende>
88 </B_legende>
89