[PLUGINS] ~maj globale
[lhc/web/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, "none" si on ne souhaite pas affiche de couche spécifique
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 - langue = null langue des objets à récupérer (utile pour les multis notamment)
43 - kml = 12 kml à superposer à la carte (id_document ou url ou liste d'url)
44 - gpx = 12 gpx à superposer à la carte (id_document ou url ou liste d'url)
45 - geojson = 12 geojson à superposer à la carte (id_document ou url ou liste d'url)
46 - topojson = 12 topojson à superposer à la carte (id_document ou url ou liste d'url)
47 - centrer_fichier = non permet de ne pas centrer la carte automatiquement sur les fichiers kml/gpx surperposés
48 - point = non si elle vaut "non" cette option n'affichera pas de points du tout (utile pour n'afficher qu'un kml par exemple)
49
50 - media = non permet de passer le critère 'media' (pour les documents)
51 - mots = #LISTE{1,4,7} plugin critere {mots} http://contrib.spip.net/Critere-mots
52 - path_styles=#ARRAY{color,#fff} options de style des éléments de la couche GeoJSON (voir http://leafletjs.com/reference.html#path-options)
53 - options=#ARRAY{option1,valeur1} options ajoutées à la carte (qui peuvent être récupérées dans la fonction de callback par exemple par la suite)
54
55 Uniquement si objets = point_libre :
56 - icone = chemin/vers/image image utilisée pour le marker
57 - titre titre du point
58 - description description du point
59
60 Clustering (regroupement de points proches) :
61 - cluster = oui Active le clustering
62 - clusterMaxZoom = 11 Regroupe les points jusque à ce zoom, mais pas au delà
63 - clusterShowCoverageOnHover = oui Affiche au survol du cluster le contour de la zone couverte par les points regroupés
64 - maxClusterRadius = 80 Le rayon maximal (en pixels) qu'un cluster couvrira (80 pixels par defaut)
65 - clusterSpiderfyOnMaxZoom = oui Active l'effet d'éclatement pour afficher les points qui se chevauchent
66 ]
67
68 [(#SET{width,#ENV{width,#ENV{largeur,100%}}})]
69 [(#SET{height,#ENV{height,#ENV{hauteur,400px}}})]
70 [(#SET{id,#ENV{id_carte_gis,#ENV{id_map,#ENV{id,1}}}})]
71 [(#REM) -- compat gis v1 -- ]
72 [(#SET{lat,#ENV{lat,#ENV{latit,#ENV{latitude,#CONFIG{gis/lat,0}}}}})]
73 [(#SET{lon,#ENV{lon,#ENV{lonxit,#ENV{longitude,#CONFIG{gis/lon,0}}}}})]
74 [(#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
75 les valeurs par defaut sont "centre +/- 10°", ce qui est naze, mais c'est un cas normalement impossible
76 ]
77 [(#ENV{lat}|ou{#ENV{lon}}|non|et{#ENV{sw_lat}}|et{#ENV{sw_lon}}|et{#ENV{ne_lat}}|et{#ENV{ne_lon}})
78 #SET{utiliser_bb, oui}
79 #SET{sw_lat,#ENV{sw_lat,#GET{lat}|moins{10}}}
80 #SET{sw_lon,#ENV{sw_lon,#GET{lon}|moins{10}}}
81 #SET{ne_lat,#ENV{ne_lat,#GET{lat}|plus{10}}}
82 #SET{ne_lon,#ENV{ne_lon,#GET{lon}|plus{10}}}
83 ]
84
85 <div id="map[(#GET{id})]" class="carte_gis"[(#ENV{style}|!={'non'}|?{' '})style="[width:(#GET{width});][ height:(#GET{height});]"]></div>
86
87 <script type="text/javascript">/*<!\[CDATA\[*/
88 var map[(#GET{id})];
89 var jQgisloader;
90 (function (){
91 if (typeof jQuery.ajax == "undefined"){jQuery(init_gis);}else {init_gis();}
92 function init_gis(){
93 // Charger le javascript de GIS une seule fois si plusieurs carte
94 if (typeof jQgisloader=="undefined"){
95 jQgisloader = jQuery.ajax({url: '[(#PRODUIRE{fond=javascript/gis.js})]', dataType: 'script', cache: true});
96 }
97 // et initialiser la carte (des que js GIS charge et des que DOM ready)
98 jQgisloader.done(function(){
99 jQuery(function(){
100 map[(#GET{id})] = new L.Map.Gis('map[(#GET{id})]',{
101 mapId: '[(#GET{id})]',
102 callback: (typeof(callback_map[(#GET{id})]) === "function") ? callback_map[(#GET{id})] : false,
103 center: [#GET{lat},#GET{lon}],
104 zoom: [(#ENV{zoom,#CONFIG{gis/zoom,0}})][,
105 maxZoom: (#ENV{maxZoom})][,
106 minZoom: (#ENV{minZoom})][,
107 default_layer: '(#ENV{default_layer})'][,
108 affiche_layers: (#ENV{affiche_layers}|?{[(#ENV{affiche_layers}|explode{/}|json_encode)],''})],
109 scrollWheelZoom: [(#ENV{zoom_molette,#ENV{zoom_wheel}}|=={non}|?{false,true})],
110 zoomControl: [(#ENV{no_control,#ENV{aucun_controle}}|!={oui}|?{true,false})],
111 fullscreenControl: [(#ENV{fullscreen}|=={oui}|?{true,false})],
112 scaleControl: [(#ENV{scale}|=={oui}|?{true,false})],
113 overviewControl:[(#ENV{overview}|=={oui}|?{true,false})],
114 layersControl: [(#ENV{control_type,#ENV{controle_type}}|=={non}|?{false,true})],
115 layersControlOptions: {
116 collapsed: [(#ENV{control_type_collapsed,#ENV{control_type_collapsed}}|=={non}|?{false,true})]
117 },
118 noControl: [(#ENV{no_control,#ENV{aucun_controle}}|=={oui}|?{true,false})],
119 utiliser_bb: [(#GET{utiliser_bb}|?{true,false})][,
120 sw_lat: (#GET{sw_lat})][,
121 ne_lat: (#GET{ne_lat})][,
122 sw_lon: (#GET{sw_lon})][,
123 ne_lon: (#GET{ne_lon})],
124 affiche_points: [(#ENV{point,''}|=={non}|?{false,true})][,
125 langue:'(#ENV{langue})'],
126 json_points:{
127 url: '[(#URL_PAGE{gis_json}|parametre_url{lang,#ENV{langue},&}|url_absolue)]'[,
128 objets: '(#ENV{objets,#ENV{class}}|trim)'],
129 limit: [(#ENV{limit,#ENV{limite,500}}|trim)],
130 env: [(#ENV*{args,#ENV*}|gis_modele_url_json_env|json_encode)][,
131 titre: (#ENV{titre}|?{#ENV{titre},''}|json_encode)][,
132 description: (#ENV{description}|?{#ENV{description},''}|json_encode)][,
133 icone: (#ENV{icone}|?{#ENV{icone},''}|json_encode)]
134 },
135 cluster: [(#ENV{cluster}|=={oui}|?{true,false})],
136 clusterOptions: {
137 disableClusteringAtZoom: [(#ENV{clusterMaxZoom,0})],
138 showCoverageOnHover: [(#ENV{clusterShowCoverageOnHover}|?{true,false})],
139 spiderfyOnMaxZoom: [(#ENV{clusterSpiderfyOnMaxZoom}|?{true,false})],
140 maxClusterRadius: [(#ENV{maxClusterRadius,80})]
141 },
142 pathStyles: [(#ENV*{path_styles}|json_encode)],
143 autocenterandzoom: [(#ENV{autocenterandzoom,#ENV{centrer_auto,non}}|=={non}|?{false,true})],
144 openId: [(#ENV{id_a_ouvrir,false})],
145 localize_visitor: [(#ENV{localize_visitor,#ENV{localiser_visiteur}}|?{true,false})],
146 localize_visitor_zoom: [(#ENV{localize_visitor_zoom,#ENV{zoom,#CONFIG{gis/zoom,0}}})],
147 centrer_fichier: [(#ENV{centrer_fichier,oui}|=={oui}|?{true,false})],
148 kml: [(#ENV{kml,''}|?{[(#ENV{kml}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],
149 gpx: [(#ENV{gpx,''}|?{[(#ENV{gpx}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],
150 geojson: [(#ENV{geojson,''}|?{[(#ENV{geojson}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],
151 topojson: [(#ENV{topojson,''}|?{[(#ENV{topojson}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],
152 options: [(#ENV*{options,#ARRAY}|json_encode)]
153 });
154 });
155 });
156 }
157
158 })()
159 /*\]\]>*/
160 </script>