- 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
+- minZoom = 13 zoom minimum autorisé\r
+\r
+- default_layer = acetate nom de la couche affichée par défaut, "none" si on ne souhaite pas affiche de couche spécifique\r
+- affiche_layers = openmapsurfer/acetate noms des couches proposées séparés par des /\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
\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
+- control_type|controle_type = non ne pas afficher le contrôle de changement de couche\r
+- control_type_collapsed = non afficher le contrôle de changement de couche replié (oui par défaut)\r
+- no_control|aucun_controle = oui ne pas afficher les contrôles 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
+- localize_visitor_zoom = 12 niveau de zoom sur la position du visiteur (par défaut la valeur de zoom de la carte) \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
+- langue = null langue des objets à récupérer (utile pour les multis notamment)\r
+- tooltip = oui affiche un tooltip sur les points\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
+- geojson = 12 geojson à superposer à la carte (id_document ou url ou liste d'url)\r
+- topojson = 12 topojson à 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
+- mots = #LISTE{1,4,7} plugin critere {mots} https://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
+- 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)\r
\r
Uniquement si objets = point_libre :\r
- icone = chemin/vers/image image utilisée pour le marker\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
+- cluster = oui Active le clustering\r
+- clusterMaxZoom = 11 Regroupe les points jusque à ce zoom, mais pas au delà\r
+- clusterShowCoverageOnHover = oui Affiche au survol du cluster le contour de la zone couverte par les points regroupés\r
+- maxClusterRadius = 80 Le rayon maximal (en pixels) qu'un cluster couvrira (80 pixels par defaut)\r
+- clusterSpiderfyOnMaxZoom = oui Active l'effet d'éclatement pour afficher les points qui se chevauchent\r
+- singleMarkerMode = oui Utilise les icones de cluster pour tous les points (même ceux qui ne sont pas dans un cluster)\r
]\r
\r
[(#SET{width,#ENV{width,#ENV{largeur,100%}}})]\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
+#SET{utiliser_bb, ''}\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
\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
+var jQgisloader;\r
+(function (){\r
+ if (typeof jQuery.ajax == "undefined"){jQuery(init_gis);}else {init_gis();}\r
+ function init_gis(){\r
+ // Charger le javascript de GIS une seule fois si plusieurs carte\r
+ if (typeof jQgisloader=="undefined"){\r
+ jQgisloader = jQuery.ajax({url: '[(#PRODUIRE{fond=javascript/gis.js})]', dataType: 'script', cache: true});\r
}\r
- gis_init_map(map_cfg["[(#GET{id})]"]);\r
- });\r
-});\r
+ // et initialiser la carte (des que js GIS charge et des que DOM ready)\r
+ jQgisloader.done(function(){\r
+ jQuery(function(){\r
+ map[(#GET{id})] = new L.Map.Gis('map[(#GET{id})]',{\r
+ mapId: '[(#GET{id})]',\r
+ callback: (typeof(callback_map[(#GET{id})]) === "function") ? callback_map[(#GET{id})] : false,\r
+ center: [#GET{lat},#GET{lon}],\r
+ zoom: [(#ENV{zoom,#CONFIG{gis/zoom,0}}|trim)][,\r
+ maxZoom: (#ENV{maxZoom}|trim)][,\r
+ minZoom: (#ENV{minZoom}|trim)][,\r
+ default_layer: '(#ENV{default_layer}|trim)'][,\r
+ affiche_layers: (#ENV{affiche_layers}|trim|?{[(#ENV{affiche_layers}|trim|explode{/}|json_encode)],''})],\r
+ scrollWheelZoom: [(#ENV{zoom_molette,#ENV{zoom_wheel}}|trim|=={non}|?{false,true})],\r
+ zoomControl: [(#ENV{no_control,#ENV{aucun_controle}}|trim|!={oui}|?{true,false})],\r
+ fullscreenControl: [(#ENV{fullscreen}|trim|=={oui}|?{true,false})],\r
+ scaleControl: [(#ENV{scale}|trim|=={oui}|?{true,false})],\r
+ overviewControl:[(#ENV{overview}|trim|=={oui}|?{true,false})],\r
+ layersControl: [(#ENV{control_type,#ENV{controle_type}}|trim|=={non}|?{false,true})],\r
+ layersControlOptions: {\r
+ collapsed: [(#ENV{control_type_collapsed,#ENV{control_type_collapsed}}|trim|=={non}|?{false,true})]\r
+ },\r
+ noControl: [(#ENV{no_control,#ENV{aucun_controle}}|trim|=={oui}|?{true,false})],\r
+ utiliser_bb: [(#GET{utiliser_bb}|?{true,false})][,\r
+ sw_lat: (#GET{sw_lat})][,\r
+ ne_lat: (#GET{ne_lat})][,\r
+ sw_lon: (#GET{sw_lon})][,\r
+ ne_lon: (#GET{ne_lon})],\r
+ affiche_points: [(#ENV{point,''}|=={non}|?{false,true})][,\r
+ langue:'(#ENV{langue})'],\r
+ json_points:{\r
+ url: '[(#URL_PAGE{gis_json}|parametre_url{lang,#ENV{langue},&}|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}|?{#ENV{titre},''}|trim|json_encode)][,\r
+ description: (#ENV{description}|?{#ENV{description},''}|trim|json_encode)][,\r
+ icone: (#ENV{icone}|?{#ENV{icone},''}|trim|json_encode)]\r
+ },\r
+ tooltip: [(#ENV{tooltip}|=={oui}|?{true,false})],\r
+ cluster: [(#ENV{cluster}|=={oui}|?{true,false})],\r
+ clusterOptions: {\r
+ disableClusteringAtZoom: [(#ENV{clusterMaxZoom,0})],\r
+ showCoverageOnHover: [(#ENV{clusterShowCoverageOnHover}|?{true,false})],\r
+ spiderfyOnMaxZoom: [(#ENV{clusterSpiderfyOnMaxZoom}|?{true,false})],\r
+ maxClusterRadius: [(#ENV{maxClusterRadius,80})],\r
+ singleMarkerMode: [(#ENV{singleMarkerMode}|?{true,false})]\r
+ },\r
+ pathStyles: [(#ENV*{path_styles}|json_encode)],\r
+ autocenterandzoom: [(#ENV{autocenterandzoom,#ENV{centrer_auto,non}}|trim|=={non}|?{false,true})],\r
+ openId: [(#ENV{id_a_ouvrir,false})],\r
+ localize_visitor: [(#ENV{localize_visitor,#ENV{localiser_visiteur}}|trim|?{true,false})],\r
+ localize_visitor_zoom: [(#ENV{localize_visitor_zoom,#ENV{zoom,#CONFIG{gis/zoom,0}}}|trim)],\r
+ centrer_fichier: [(#ENV{centrer_fichier,oui}|trim|=={oui}|?{true,false})],\r
+ kml: [(#ENV{kml,''}|?{[(#ENV{kml}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],\r
+ gpx: [(#ENV{gpx,''}|?{[(#ENV{gpx}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],\r
+ geojson: [(#ENV{geojson,''}|?{[(#ENV{geojson}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],\r
+ topojson: [(#ENV{topojson,''}|?{[(#ENV{topojson}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],\r
+ options: [(#ENV*{options,#ARRAY}|json_encode)]\r
+ });\r
+ });\r
+ });\r
+ }\r
+\r
+})()\r
/*\]\]>*/\r
</script>\r