[PLUGINS] +set de base
[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
14 - sw_lat = lat - 10° latitude du sud-ouest de la bounding box
15 - sw_lon = lon - 10° longitude du sud-ouest de la bounding box
16 - ne_lat = lat + 10° latitude du nord-est de la bounding box
17 - ne_lon = lon + 10° longitude du nord-est de la bounding box
18
19 - width|largeur = 100% largeur de la carte, 100% par defaut
20 - height|hauteur = 400px hauteur de la carte, 400px par defaut
21 - style = non ne pas styler la carte
22
23 - fullscreen = oui afficher un bouton pour passer la carte en plein écran
24 - zoom_molette|zoom_wheel = non désactiver le zoom avec la molette de la souris, actif par defaut
25 - control_type|controle_type = non ne pas afficher les controles de changement de type
26 - no_control|aucun_controle = oui ne pas afficher les controles de la carte
27 - scale = oui afficher l'échelle de la carte
28 - overview = oui afficher une mini carte de situation
29
30 - autocenterandzoom|centrer_auto = oui centrer et zoomer la carte automatiquement pour afficher tous les marqueurs
31 - localize_visitor|localiser_visiteur = oui centrer la carte sur la position du visiteur (API geolocation HTML5)
32 - id_a_ouvrir id_gis de l'infobulle à afficher au chargement(marqueur uniquement)
33
34 - objets = gis type d'objets à afficher (fichier json/gis_xx qui génère la source de donnees)
35 - limit|limite = 500 nombre max de marqueurs à afficher, 500 par defaut
36 - kml = 12 kml à superposer à la carte (id_document ou url ou liste d'url)
37 - gpx = 12 gpx à superposer à la carte (id_document ou url ou liste d'url)
38 - centrer_fichier = non permet de ne pas centrer la carte automatiquement sur les fichiers kml/gpx surperposés
39 - point = non si elle vaut "non" cette option n'affichera pas de points du tout (utile pour n'afficher qu'un kml par exemple)
40
41 - media = non permet de passer le critère 'media' (pour les documents)
42 - mots = #LISTE{1,4,7} plugin critere {mots} http://contrib.spip.net/Critere-mots
43 - path_styles=#ARRAY{color,#fff} options de style des éléments de la couche GeoJSON (voir http://leafletjs.com/reference.html#path-options)
44
45 Uniquement si objets = point_libre :
46 - icone = chemin/vers/image image utilisée pour le marker
47 - titre titre du point
48 - description description du point
49
50 Clustering (regroupement de points proches) :
51 - cluster = oui Active le clustering
52 - clusterMaxZoom = 11 Regroupe les points jusque à ce zoom, mais pas au delà
53 - clusterShowCoverageOnHover = 0 1 pour afficher un dessin au survol de la zone couvertes par les points regroupés
54 ]
55
56 [(#SET{width,#ENV{width,#ENV{largeur,100%}}})]
57 [(#SET{height,#ENV{height,#ENV{hauteur,400px}}})]
58 [(#SET{id,#ENV{id_carte_gis,#ENV{id_map,#ENV{id,1}}}})]
59 [(#REM) -- compat gis v1 -- ]
60 [(#SET{lat,#ENV{lat,#ENV{latit,#ENV{latitude,#CONFIG{gis/lat,0}}}}})]
61 [(#SET{lon,#ENV{lon,#ENV{lonxit,#ENV{longitude,#CONFIG{gis/lon,0}}}}})]
62 [(#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
63 les valeurs par defaut sont "centre +/- 10°", ce qui est naze, mais c'est un cas normalement impossible
64 ]
65 [(#ENV{lat}|ou{#ENV{lon}}|non|et{#ENV{sw_lat}}|et{#ENV{sw_lon}}|et{#ENV{ne_lat}}|et{#ENV{ne_lon}})
66 #SET{utiliser_bb, oui}
67 #SET{sw_lat,#ENV{sw_lat,#GET{lat}|moins{10}}}
68 #SET{sw_lon,#ENV{sw_lon,#GET{lon}|moins{10}}}
69 #SET{ne_lat,#ENV{ne_lat,#GET{lat}|plus{10}}}
70 #SET{ne_lon,#ENV{ne_lon,#GET{lon}|plus{10}}}
71 ]
72
73 <div id="map[(#GET{id})]" class="carte_gis"[(#ENV{style}|!={'non'}|?{' '})style="[width:(#GET{width});][ height:(#GET{height});]"]></div>
74
75 <script type="text/javascript">/*<!\[CDATA\[*/
76 var map[(#GET{id})];
77 if (typeof map_cfg=="undefined") var map_cfg = {};
78 map_cfg["[(#GET{id})]"] = {
79 "mapid":"map[(#GET{id})]",
80 "scrollWheelZoom": [(#ENV{zoom_molette,#ENV{zoom_wheel}}|=={non}|?{false,true})],
81 "zoomControl": [(#ENV{no_control,#ENV{aucun_controle}}|!={oui}|?{true,false})][,
82 "maxZoom": (#ENV{maxZoom})],
83 "utiliser_bb":[(#GET{utiliser_bb}|?{true,false})],
84 "lat":[(#GET{lat})][,
85 "sw_lat":(#GET{sw_lat})][,
86 "ne_lat":(#GET{ne_lat})],
87 "lon":[(#GET{lon})][,
88 "sw_lon":(#GET{sw_lon})][,
89 "ne_lon":(#GET{ne_lon})],
90 "zoom":[(#ENV{zoom,#CONFIG{gis/zoom,0}})],
91 "default_layer":"[(#REM|gis_layer_defaut)]",
92 "layers":#EVAL{json_encode($GLOBALS['gis_layers'])},
93 "affiche_layers":[(#CONFIG{gis/layers,#ARRAY}|json_encode)],
94 "control_type":[(#ENV{control_type,#ENV{controle_type}}|=={non}|?{false,true})],
95 "no_control":[(#ENV{no_control,#ENV{aucun_controle}}|=={oui}|?{true,false})],
96 "scale":[(#ENV{scale}|=={oui}|?{true,false})],
97 "overview":[(#ENV{overview}|=={oui}|?{true,false})],
98 "fullscreen":[(#ENV{fullscreen}|=={oui}|?{true,false})],
99 "cluster":[(#ENV{cluster}|=={oui}|?{true,false})],
100 "clusterMaxZoom":[(#ENV{clusterMaxZoom, #ENV{maxZoom}|?{#ENV{maxZoom}|moins{2},0}})],
101 "clusterShowCoverageOnHover":[(#ENV{clusterShowCoverageOnHover}|?{true,false})],
102 "path_styles":[(#ENV*{path_styles}|json_encode)],
103 "autocenterandzoom":[(#ENV{autocenterandzoom,#ENV{centrer_auto}}|?{true,false})],
104 "open_id":"[(#ENV{id_a_ouvrir,''})]",
105 "affiche_points":[(#ENV{point,''}|=={non}|?{false,true})],
106 "json_points":{
107 "url":"[(#URL_PAGE{gis_json}|url_absolue)]"[,
108 "objets":"(#ENV{objets,#ENV{class}}|trim)"],
109 "limit":[(#ENV{limit,#ENV{limite,500}}|trim)],
110 "env":[(#ENV*{args,#ENV*}|gis_modele_url_json_env|json_encode)][,
111 "titre" : (#ENV{titre}|json_encode)][,
112 "description" : (#ENV{description}|json_encode)][,
113 "icone" : (#ENV{icone}|json_encode)]
114 },
115 "localize_visitor":[(#ENV{localize_visitor,#ENV{localiser_visiteur}}|?{true,false})],
116 "centrer_fichier":[(#ENV{centrer_fichier,oui}|=={oui}|?{true,false})],
117 "kml":[(#ENV{kml,''}|?{[(#ENV{kml}|is_array|?{#ENV{kml},#LISTE{#ENV{kml}}}|gis_kml_to_urls|json_encode)],false})],
118 "gpx":[(#ENV{gpx,''}|?{[(#ENV{gpx}|is_array|?{#ENV{gpx},#LISTE{#ENV{gpx}}}|gis_kml_to_urls|json_encode)],false})]
119 };
120
121 // Charger le javascript de GIS et initialiser la carte (des que DOM ready)
122 jQuery.getScript('[(#PRODUIRE{fond=javascript/gis.js,cluster=#ENV{cluster,non}})]',function(){
123 jQuery(function(){
124 if (typeof(callback_map[(#GET{id})]) === "function") {
125 map_cfg["[(#GET{id})]"]['callback']=callback_map[(#GET{id})];
126 }
127 gis_init_map(map_cfg["[(#GET{id})]"]);
128 });
129 });
130 /*\]\]>*/
131 </script>