[PLUGINS] +set de base
[lhc/web/www.git] / www / plugins / gis / modeles / carte_gis.html
diff --git a/www/plugins/gis/modeles/carte_gis.html b/www/plugins/gis/modeles/carte_gis.html
new file mode 100644 (file)
index 0000000..a9cc086
--- /dev/null
@@ -0,0 +1,131 @@
+[(#REM)\r
+\r
+Modele carte_gis\r
+----------------\r
+\r
+Parametres possibles :\r
+\r
+- id_map|id_carte_gis = 1          id de la carte\r
+- lat|latit|latitude = 48.3        latitude du centre de la carte\r
+- lon|lonxit|longitude = -4.7      longitude du centre de la carte\r
+- zoom = 5                         zoom de la carte\r
+- maxZoom = 13                     zoom maximum autorisé\r
+\r
+- sw_lat = lat - 10°               latitude du sud-ouest de la bounding box\r
+- sw_lon = lon - 10°               longitude du sud-ouest de la bounding box\r
+- ne_lat = lat + 10°               latitude du nord-est de la bounding box\r
+- ne_lon = lon + 10°               longitude du nord-est de la bounding box\r
+\r
+- width|largeur = 100%             largeur de la carte, 100% par defaut\r
+- height|hauteur = 400px           hauteur de la carte, 400px par defaut\r
+- style = non                      ne pas styler la carte\r
+\r
+- fullscreen = oui                     afficher un bouton pour passer la carte en plein écran\r
+- zoom_molette|zoom_wheel = non        désactiver le zoom avec la molette de la souris, actif par defaut\r
+- control_type|controle_type = non     ne pas afficher les controles de changement de type\r
+- no_control|aucun_controle = oui      ne pas afficher les controles de la carte\r
+- scale = oui                          afficher l'échelle de la carte\r
+- overview = oui                       afficher une mini carte de situation\r
+\r
+- autocenterandzoom|centrer_auto = oui        centrer et zoomer la carte automatiquement pour afficher tous les marqueurs\r
+- localize_visitor|localiser_visiteur = oui   centrer la carte sur la position du visiteur (API geolocation HTML5)\r
+- id_a_ouvrir                                 id_gis de l'infobulle à afficher au chargement(marqueur uniquement)\r
+\r
+- objets = gis                     type d'objets à afficher (fichier json/gis_xx qui génère la source de donnees)\r
+- limit|limite = 500               nombre max de marqueurs à afficher, 500 par defaut\r
+- kml = 12                         kml à superposer à la carte (id_document ou url ou liste d'url)\r
+- gpx = 12                         gpx à superposer à la carte (id_document ou url ou liste d'url)\r
+- centrer_fichier = non            permet de ne pas centrer la carte automatiquement sur les fichiers kml/gpx surperposés\r
+- point = non                      si elle vaut "non" cette option n'affichera pas de points du tout (utile pour n'afficher qu'un kml par exemple)\r
+\r
+- media = non                      permet de passer le critère 'media' (pour les documents)\r
+- mots = #LISTE{1,4,7}             plugin critere {mots} http://contrib.spip.net/Critere-mots\r
+- path_styles=#ARRAY{color,#fff}   options de style des éléments de la couche GeoJSON (voir http://leafletjs.com/reference.html#path-options)\r
+\r
+Uniquement si objets = point_libre :\r
+- icone = chemin/vers/image        image utilisée pour le marker\r
+- titre                            titre du point\r
+- description                      description du point\r
+\r
+Clustering (regroupement de points proches) :\r
+- cluster = oui                    Active le clustering\r
+- clusterMaxZoom = 11              Regroupe les points jusque à ce zoom, mais pas au delà\r
+- clusterShowCoverageOnHover = 0   1 pour afficher un dessin au survol de la zone couvertes par les points regroupés\r
+]\r
+\r
+[(#SET{width,#ENV{width,#ENV{largeur,100%}}})]\r
+[(#SET{height,#ENV{height,#ENV{hauteur,400px}}})]\r
+[(#SET{id,#ENV{id_carte_gis,#ENV{id_map,#ENV{id,1}}}})]\r
+[(#REM) -- compat gis v1 -- ]\r
+[(#SET{lat,#ENV{lat,#ENV{latit,#ENV{latitude,#CONFIG{gis/lat,0}}}}})]\r
+[(#SET{lon,#ENV{lon,#ENV{lonxit,#ENV{longitude,#CONFIG{gis/lon,0}}}}})]\r
+[(#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\r
+    les valeurs par defaut sont "centre +/- 10°", ce qui est naze, mais c'est un cas normalement impossible\r
+]\r
+[(#ENV{lat}|ou{#ENV{lon}}|non|et{#ENV{sw_lat}}|et{#ENV{sw_lon}}|et{#ENV{ne_lat}}|et{#ENV{ne_lon}})\r
+       #SET{utiliser_bb, oui}\r
+       #SET{sw_lat,#ENV{sw_lat,#GET{lat}|moins{10}}}\r
+       #SET{sw_lon,#ENV{sw_lon,#GET{lon}|moins{10}}}\r
+       #SET{ne_lat,#ENV{ne_lat,#GET{lat}|plus{10}}}\r
+       #SET{ne_lon,#ENV{ne_lon,#GET{lon}|plus{10}}}\r
+]\r
+\r
+<div id="map[(#GET{id})]" class="carte_gis"[(#ENV{style}|!={'non'}|?{' '})style="[width:(#GET{width});][ height:(#GET{height});]"]></div>\r
+\r
+<script type="text/javascript">/*<!\[CDATA\[*/\r
+var map[(#GET{id})];\r
+if (typeof map_cfg=="undefined") var map_cfg = {};\r
+map_cfg["[(#GET{id})]"] = {\r
+"mapid":"map[(#GET{id})]",\r
+"scrollWheelZoom": [(#ENV{zoom_molette,#ENV{zoom_wheel}}|=={non}|?{false,true})],\r
+"zoomControl": [(#ENV{no_control,#ENV{aucun_controle}}|!={oui}|?{true,false})][,\r
+"maxZoom": (#ENV{maxZoom})],\r
+"utiliser_bb":[(#GET{utiliser_bb}|?{true,false})],\r
+"lat":[(#GET{lat})][,\r
+"sw_lat":(#GET{sw_lat})][,\r
+"ne_lat":(#GET{ne_lat})],\r
+"lon":[(#GET{lon})][,\r
+"sw_lon":(#GET{sw_lon})][,\r
+"ne_lon":(#GET{ne_lon})],\r
+"zoom":[(#ENV{zoom,#CONFIG{gis/zoom,0}})],\r
+"default_layer":"[(#REM|gis_layer_defaut)]",\r
+"layers":#EVAL{json_encode($GLOBALS['gis_layers'])},\r
+"affiche_layers":[(#CONFIG{gis/layers,#ARRAY}|json_encode)],\r
+"control_type":[(#ENV{control_type,#ENV{controle_type}}|=={non}|?{false,true})],\r
+"no_control":[(#ENV{no_control,#ENV{aucun_controle}}|=={oui}|?{true,false})],\r
+"scale":[(#ENV{scale}|=={oui}|?{true,false})],\r
+"overview":[(#ENV{overview}|=={oui}|?{true,false})],\r
+"fullscreen":[(#ENV{fullscreen}|=={oui}|?{true,false})],\r
+"cluster":[(#ENV{cluster}|=={oui}|?{true,false})],\r
+"clusterMaxZoom":[(#ENV{clusterMaxZoom, #ENV{maxZoom}|?{#ENV{maxZoom}|moins{2},0}})],\r
+"clusterShowCoverageOnHover":[(#ENV{clusterShowCoverageOnHover}|?{true,false})],\r
+"path_styles":[(#ENV*{path_styles}|json_encode)],\r
+"autocenterandzoom":[(#ENV{autocenterandzoom,#ENV{centrer_auto}}|?{true,false})],\r
+"open_id":"[(#ENV{id_a_ouvrir,''})]",\r
+"affiche_points":[(#ENV{point,''}|=={non}|?{false,true})],\r
+"json_points":{\r
+       "url":"[(#URL_PAGE{gis_json}|url_absolue)]"[,\r
+       "objets":"(#ENV{objets,#ENV{class}}|trim)"],\r
+       "limit":[(#ENV{limit,#ENV{limite,500}}|trim)],\r
+       "env":[(#ENV*{args,#ENV*}|gis_modele_url_json_env|json_encode)][,\r
+       "titre" : (#ENV{titre}|json_encode)][,\r
+       "description" : (#ENV{description}|json_encode)][,\r
+       "icone" : (#ENV{icone}|json_encode)]\r
+       },\r
+"localize_visitor":[(#ENV{localize_visitor,#ENV{localiser_visiteur}}|?{true,false})],\r
+"centrer_fichier":[(#ENV{centrer_fichier,oui}|=={oui}|?{true,false})],\r
+"kml":[(#ENV{kml,''}|?{[(#ENV{kml}|is_array|?{#ENV{kml},#LISTE{#ENV{kml}}}|gis_kml_to_urls|json_encode)],false})],\r
+"gpx":[(#ENV{gpx,''}|?{[(#ENV{gpx}|is_array|?{#ENV{gpx},#LISTE{#ENV{gpx}}}|gis_kml_to_urls|json_encode)],false})]\r
+};\r
+\r
+// Charger le javascript de GIS et initialiser la carte (des que DOM ready)\r
+jQuery.getScript('[(#PRODUIRE{fond=javascript/gis.js,cluster=#ENV{cluster,non}})]',function(){\r
+       jQuery(function(){\r
+               if (typeof(callback_map[(#GET{id})]) === "function") {\r
+                       map_cfg["[(#GET{id})]"]['callback']=callback_map[(#GET{id})];\r
+               }\r
+               gis_init_map(map_cfg["[(#GET{id})]"]);\r
+       });\r
+});\r
+/*\]\]>*/\r
+</script>\r