source: spip-zone/_plugins_/gis/trunk/modeles/carte_gis.html @ 70459

Last change on this file since 70459 was 70459, checked in by cedric@…, 7 years ago

Nommer l'objet de configuration en fonction de la map

File size: 6.7 KB
Line 
1[(#REM)
2
3Modele carte_gis
4----------------
5
6Parametres 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
45Uniquement 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
50Clustering (regroupement de points proches) :
51- cluster = oui                    Active le clustering
52- clusterMaxZoom = 11              Regroupe les points jusque à ce zoom, mais pas au delà
53- clusterStyles = #ARRAY{}         Styles appliqués aux clusters
54
55]
56
57[(#SET{width,#ENV{width,#ENV{largeur,100%}}})]
58[(#SET{height,#ENV{height,#ENV{hauteur,400px}}})]
59[(#SET{id,#ENV{id_carte_gis,#ENV{id_map,#ENV{id,1}}}})]
60[(#REM) -- compat gis v1 -- ]
61[(#SET{lat,#ENV{lat,#ENV{latit,#ENV{latitude,#CONFIG{gis/lat,0}}}}})]
62[(#SET{lon,#ENV{lon,#ENV{lonxit,#ENV{longitude,#CONFIG{gis/lon,0}}}}})]
63[(#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
64    les valeurs par defaut sont "centre +/- 10°", ce qui est naze, mais c'est un cas normalement impossible
65]
66[(#ENV{lat}|ou{#ENV{lon}}|non|et{#ENV{sw_lat}}|et{#ENV{sw_lon}}|et{#ENV{ne_lat}}|et{#ENV{ne_lon}})
67        #SET{utiliser_bb, oui}
68        #SET{sw_lat,#ENV{sw_lat,#GET{lat}|moins{10}}}
69        #SET{sw_lon,#ENV{sw_lon,#GET{lon}|moins{10}}}
70        #SET{ne_lat,#ENV{ne_lat,#GET{lat}|plus{10}}}
71        #SET{ne_lon,#ENV{ne_lon,#GET{lon}|plus{10}}}
72]
73
74<div id="map[(#GET{id})]" class="carte_gis p"[(#ENV{style}|!={'non'}|?{' '})style="[width:(#GET{width});][ height:(#GET{height});]"]></div>
75
76<script type="text/javascript">/*<!\[CDATA\[*/
77var map[(#GET{id})];
78var 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"fullscreen":[(#ENV{fullscreen}|=={oui}|?{true,false})],
98"cluster":[(#ENV{cluster}|=={oui}|?{true,false})],
99"clusterMaxZoom":[(#ENV{clusterMaxZoom, #ENV{maxZoom}|?{#ENV{maxZoom}|moins{2},0}})],
100"path_styles":[(#ENV*{path_styles}|json_encode)],
101"autocenterandzoom":[(#ENV{autocenterandzoom,#ENV{centrer_auto}}|?{true,false})],
102"open_id":"[(#ENV{id_a_ouvrir,''})]",
103"clusterStyles":[(#ENV*{clusterStyles,#ARRAY}|json_encode)],
104"affiche_points":[(#ENV{point,''}|=={non}|?{false,true})],
105"json_points":{
106        "url":"[(#URL_PAGE{gis_json}|url_absolue)]",
107        "objets":"(#ENV{objets,#ENV{class}}|trim)",
108        "limit":[(#ENV{limit,#ENV{limite,500}}|trim)],
109        "env":[(#ENV{args,#ENV}|gis_modele_url_json_env|json_encode)][,
110        "titre" : (#ENV{titre}|json_encode)][,
111        "description" : (#ENV{description}|json_encode)][,
112        "icone" : (#ENV{icone}|json_encode)]
113        },
114"localize_visitor":[(#ENV{localize_visitor,#ENV{localiser_visiteur}}|?{true,false})],
115"kml":[(#ENV{kml,''}|?{[(#ENV{kml}|is_array|?{#ENV{kml},#LISTE{#ENV{kml}}}|gis_kml_to_urls|json_encode)],false})],
116"gpx":[(#ENV{gpx,''}|?{[(#ENV{gpx}|is_array|?{#ENV{gpx},#LISTE{#ENV{gpx}}}|gis_kml_to_urls|json_encode)],false})]
117};
118if (typeof(callback_map[(#GET{id})]) === "function") {
119        map_cfg_[(#GET{id})]['callback']=callback_map[(#GET{id})];
120}
121
122(function($){
123        // Charger le javascript de GIS et initialiser la carte
124        $(function(){
125                jQuery.getScript('[(#PRODUIRE{fond=javascript/gis.js,cluster=#ENV{cluster,non}})]',function(){
126                        gis_init_map(map_cfg_[(#GET{id})]);
127                });
128        });
129
130})(jQuery);
131/*\]\]>*/
132</script>
Note: See TracBrowser for help on using the repository browser.