[PLUGINS] +clavettes et dependances
[lhc/web/clavette_www.git] / www / plugins / gis / modeles / carte_gis.html
1 [(#REM)
2
3 Modele carte_gis
4 ----------------
5
6 Parametres possibles :
7
8 - id_map|id_carte_gis = 1 id de la carte
9 - lat|latit|latitude = 48.3 latitude du centre de la carte
10 - lon|lonxit|longitude = -4.7 longitude du centre de la carte
11 - zoom = 5 zoom de la carte
12 - maxZoom = 13 zoom maximum autorisé
13 - minZoom = 13 zoom minimum autorisé
14
15 - default_layer = acetate nom de la couche affichée par défaut
16 - affiche_layers = openmapsurfer/acetate noms des couches proposées séparés par des /
17
18 - sw_lat = lat - 10° latitude du sud-ouest de la bounding box
19 - sw_lon = lon - 10° longitude du sud-ouest de la bounding box
20 - ne_lat = lat + 10° latitude du nord-est de la bounding box
21 - ne_lon = lon + 10° longitude du nord-est de la bounding box
22
23 - width|largeur = 100% largeur de la carte, 100% par defaut
24 - height|hauteur = 400px hauteur de la carte, 400px par defaut
25 - style = non ne pas styler la carte
26
27 - fullscreen = oui afficher un bouton pour passer la carte en plein écran
28 - zoom_molette|zoom_wheel = non désactiver le zoom avec la molette de la souris, actif par defaut
29 - control_type|controle_type = non ne pas afficher le contrôle de changement de couche
30 - control_type_collapsed = non afficher le contrôle de changement de couche replié (oui par défaut)
31 - no_control|aucun_controle = oui ne pas afficher les contrôles de la carte
32 - scale = oui afficher l'échelle de la carte
33 - overview = oui afficher une mini carte de situation
34
35 - autocenterandzoom|centrer_auto = oui centrer et zoomer la carte automatiquement pour afficher tous les marqueurs
36 - localize_visitor|localiser_visiteur = oui centrer la carte sur la position du visiteur (API geolocation HTML5)
37 - localize_visitor_zoom = 12 niveau de zoom sur la position du visiteur (par défaut la valeur de zoom de la carte)
38 - id_a_ouvrir id_gis de l'infobulle à afficher au chargement(marqueur uniquement)
39
40 - objets = gis type d'objets à afficher (fichier json/gis_xx qui génère la source de donnees)
41 - limit|limite = 500 nombre max de marqueurs à afficher, 500 par defaut
42 - kml = 12 kml à superposer à la carte (id_document ou url ou liste d'url)
43 - gpx = 12 gpx à superposer à la carte (id_document ou url ou liste d'url)
44 - geojson = 12 geojson à superposer à la carte (id_document ou url ou liste d'url)
45 - centrer_fichier = non permet de ne pas centrer la carte automatiquement sur les fichiers kml/gpx surperposés
46 - point = non si elle vaut "non" cette option n'affichera pas de points du tout (utile pour n'afficher qu'un kml par exemple)
47
48 - media = non permet de passer le critère 'media' (pour les documents)
49 - mots = #LISTE{1,4,7} plugin critere {mots} http://contrib.spip.net/Critere-mots
50 - path_styles=#ARRAY{color,#fff} options de style des éléments de la couche GeoJSON (voir http://leafletjs.com/reference.html#path-options)
51
52 Uniquement si objets = point_libre :
53 - icone = chemin/vers/image image utilisée pour le marker
54 - titre titre du point
55 - description description du point
56
57 Clustering (regroupement de points proches) :
58 - cluster = oui Active le clustering
59 - clusterMaxZoom = 11 Regroupe les points jusque à ce zoom, mais pas au delà
60 - clusterShowCoverageOnHover = oui Affiche au survol du cluster le contour de la zone couverte par les points regroupés
61 - maxClusterRadius = 80 Le rayon maximal (en pixels) qu'un cluster couvrira (80 pixels par defaut)
62 - clusterSpiderfyOnMaxZoom = oui Active l'effet d'éclatement pour afficher les points qui se chevauchent
63 ]
64
65 [(#SET{width,#ENV{width,#ENV{largeur,100%}}})]
66 [(#SET{height,#ENV{height,#ENV{hauteur,400px}}})]
67 [(#SET{id,#ENV{id_carte_gis,#ENV{id_map,#ENV{id,1}}}})]
68 [(#REM) -- compat gis v1 -- ]
69 [(#SET{lat,#ENV{lat,#ENV{latit,#ENV{latitude,#CONFIG{gis/lat,0}}}}})]
70 [(#SET{lon,#ENV{lon,#ENV{lonxit,#ENV{longitude,#CONFIG{gis/lon,0}}}}})]
71 [(#REM) On utilise la bounding box seulement si le centre n'a pas été donné et si les quatre valeurs de la bounding box sont renseignées
72 les valeurs par defaut sont "centre +/- 10°", ce qui est naze, mais c'est un cas normalement impossible
73 ]
74 [(#ENV{lat}|ou{#ENV{lon}}|non|et{#ENV{sw_lat}}|et{#ENV{sw_lon}}|et{#ENV{ne_lat}}|et{#ENV{ne_lon}})
75 #SET{utiliser_bb, oui}
76 #SET{sw_lat,#ENV{sw_lat,#GET{lat}|moins{10}}}
77 #SET{sw_lon,#ENV{sw_lon,#GET{lon}|moins{10}}}
78 #SET{ne_lat,#ENV{ne_lat,#GET{lat}|plus{10}}}
79 #SET{ne_lon,#ENV{ne_lon,#GET{lon}|plus{10}}}
80 ]
81
82 <div id="map[(#GET{id})]" class="carte_gis"[(#ENV{style}|!={'non'}|?{' '})style="[width:(#GET{width});][ height:(#GET{height});]"]></div>
83
84 <script type="text/javascript">/*<!\[CDATA\[*/
85 var map[(#GET{id})];
86 var jQgisloader;
87 // Charger le javascript de GIS une seule fois si plusieurs carte
88 if (typeof jQgisloader=="undefined"){
89 jQgisloader = jQuery.ajax({url: '[(#PRODUIRE{fond=javascript/gis.js})]', dataType: 'script', cache: true});
90 }
91 // et initialiser la carte (des que js GIS charge et des que DOM ready)
92 jQgisloader.done(function(){
93 jQuery(function(){
94 map[(#GET{id})] = new L.Map.Gis('map[(#GET{id})]',{
95 mapId: '[(#GET{id})]',
96 callback: (typeof(callback_map[(#GET{id})]) === "function") ? callback_map[(#GET{id})] : false,
97 center: [#GET{lat},#GET{lon}],
98 zoom: [(#ENV{zoom,#CONFIG{gis/zoom,0}})][,
99 maxZoom: (#ENV{maxZoom})][,
100 minZoom: (#ENV{minZoom})][,
101 default_layer: '(#ENV{default_layer})'][,
102 affiche_layers: (#ENV{affiche_layers}|?{[(#ENV{affiche_layers}|explode{/}|json_encode)],''})],
103 scrollWheelZoom: [(#ENV{zoom_molette,#ENV{zoom_wheel}}|=={non}|?{false,true})],
104 zoomControl: [(#ENV{no_control,#ENV{aucun_controle}}|!={oui}|?{true,false})],
105 fullscreenControl: [(#ENV{fullscreen}|=={oui}|?{true,false})],
106 scaleControl: [(#ENV{scale}|=={oui}|?{true,false})],
107 overviewControl:[(#ENV{overview}|=={oui}|?{true,false})],
108 layersControl: [(#ENV{control_type,#ENV{controle_type}}|=={non}|?{false,true})],
109 layersControlOptions: {
110 collapsed: [(#ENV{control_type_collapsed,#ENV{control_type_collapsed}}|=={non}|?{false,true})]
111 },
112 noControl: [(#ENV{no_control,#ENV{aucun_controle}}|=={oui}|?{true,false})],
113 utiliser_bb: [(#GET{utiliser_bb}|?{true,false})][,
114 sw_lat: (#GET{sw_lat})][,
115 ne_lat: (#GET{ne_lat})][,
116 sw_lon: (#GET{sw_lon})][,
117 ne_lon: (#GET{ne_lon})],
118 affiche_points: [(#ENV{point,''}|=={non}|?{false,true})],
119 json_points:{
120 url: '[(#URL_PAGE{gis_json}|url_absolue)]'[,
121 objets: '(#ENV{objets,#ENV{class}}|trim)'],
122 limit: [(#ENV{limit,#ENV{limite,500}}|trim)],
123 env: [(#ENV*{args,#ENV*}|gis_modele_url_json_env|json_encode)][,
124 titre: (#ENV{titre}|?{#ENV{titre},''}|json_encode)][,
125 description: (#ENV{description}|?{#ENV{description},''}|json_encode)][,
126 icone: (#ENV{icone}|?{#ENV{icone},''}|json_encode)]
127 },
128 cluster: [(#ENV{cluster}|=={oui}|?{true,false})],
129 clusterOptions: {
130 disableClusteringAtZoom: [(#ENV{clusterMaxZoom,0})],
131 showCoverageOnHover: [(#ENV{clusterShowCoverageOnHover}|?{true,false})],
132 spiderfyOnMaxZoom: [(#ENV{clusterSpiderfyOnMaxZoom}|?{true,false})],
133 maxClusterRadius: [(#ENV{maxClusterRadius,80})]
134 },
135 pathStyles: [(#ENV*{path_styles}|json_encode)],
136 autocenterandzoom: [(#ENV{autocenterandzoom,#ENV{centrer_auto}}|?{true,false})],
137 openId: [(#ENV{id_a_ouvrir,false})],
138 localize_visitor: [(#ENV{localize_visitor,#ENV{localiser_visiteur}}|?{true,false})],
139 localize_visitor_zoom: [(#ENV{localize_visitor_zoom,#ENV{zoom,#CONFIG{gis/zoom,0}}})],
140 centrer_fichier: [(#ENV{centrer_fichier,oui}|=={oui}|?{true,false})],
141 kml: [(#ENV{kml,''}|?{[(#ENV{kml}|is_array|?{#ENV{kml},#LISTE{#ENV{kml}}}|gis_kml_to_urls|json_encode)],false})],
142 gpx: [(#ENV{gpx,''}|?{[(#ENV{gpx}|is_array|?{#ENV{gpx},#LISTE{#ENV{gpx}}}|gis_kml_to_urls|json_encode)],false})],
143 geojson: [(#ENV{geojson,''}|?{[(#ENV{geojson}|is_array|?{#ENV{geojson},#LISTE{#ENV{geojson}}}|gis_kml_to_urls|json_encode)],false})]
144 });
145 });
146 });
147 /*\]\]>*/
148 </script>