source: spip-zone/_plugins_/gis/branches/v2/modeles/carte_gis.html @ 70294

Last change on this file since 70294 was 70294, checked in by guy.cesaro@…, 7 years ago

re-introduction du parametre du modele id_a_ouvrir qui permet d'ouvrir l'infobulle d'un marqueur au chargement de la carte (merci b_b pour le support !)

File size: 7.0 KB
Line 
1[(#REM)
2
3        Modele carte_gis
4
5        Parametres :
6
7        - id_map|id_carte_gis = 1                                               id de la carte
8        - lat|latit|latitude = 48.3                                             latitude du centre de la carte
9        - lon|lonxit|longitude = -4.7                                   longitude du centre de la carte
10        - zoom = 5                                                                              zoom de la carte
11        - width|largeur = 100%                                                  largeur de la carte, 100% par defaut
12        - height|hauteur = 400px                                                hauteur de la carte, 400px par defaut
13        - style = non                                                                   ne pas styler la carte
14        - zoom_molette|zoom_wheel = non                                 désactiver le zoom avec la molette de la souris, actif par defaut
15        - type = carte                                                                  type de la carte : carte, satellite, relief ou hybride
16        - control_zoom|controle_zoom = large                    type de controles pour le zoom : large, small
17        - control_pan|controle_pan = non                                ne pas afficher les controles de déplacement dans la carte
18        - control_type|controle_type = non                              ne pas afficher les controles de changement de type
19        - no_control|aucun_controle = oui                               ne pas afficher les controles de la carte
20        - overview = oui                                                                afficher un mini carte de situation
21        - scale = oui                                                                   afficher l'échelle de la carte
22        - limit|limite = 500                                                    nombre max de marqueurs à afficher, 500 par defaut
23        - objets = gis                                                                  type d'objets à afficher (fichier json/gis_xx qui génère la source de donnees)
24        - autocenterandzoom|centrer_auto = oui                  centrer et zoomer la carte automatiquement pour afficher tous les marqueurs
25        - autofocus_marker = oui                                                permet de forcer l'affichage d'une seule infobulle à la fois
26        - id_a_ouvrir                                                                   id_gis de l'infobulle à afficher au chargement(marqueur uniquement)
27        - kml = 12                                                                              kml à superposer à la carte (id_document ou url)
28        - localize_visitor|localiser_visiteur = oui             centrer la carte sur la position du visiteur (API geolocation HTML5)
29        - point = non                                                                   si elle vaut "non" cette option n'affichera pas de points du tout (utile pour n'afficher qu'un kml par exemple)
30        - ajaxload = non                                                                si elle vaut "non" cette option désactive l'init de la carte sur l'event ajaxload
31        - media = non                                                                   permet de passer le critère 'media' (pour les documents)
32
33]
34
35[(#SET{width,#ENV{width,#ENV{largeur,100%}}})]
36[(#SET{height,#ENV{height,#ENV{hauteur,400px}}})]
37[(#SET{id,#ENV{id_carte_gis,#ENV{id_map,#ENV{id,1}}}})]
38[(#REM) -- compat gis v1 -- ]
39[(#SET{lat,#ENV{lat,#ENV{latit,#ENV{latitude,#CONFIG{gis/lat,0}}}}})]
40[(#SET{lon,#ENV{lon,#ENV{lonxit,#ENV{longitude,#CONFIG{gis/lon,0}}}}})]
41
42[(#REM) 
43        // todo
44        {recursive=#ENV{recursive}}
45        {attente=#ENV{attente}}
46        {ombre=#ENV{ombre}}
47        {load_map=#ENV{load_map}}
48        {swfobject=#CONFIG{gis/swfobject,oui}}
49       
50        // pas documentes
51        {control_move=#ENV{control_move}}
52        {control_zoom=#ENV{control_zoom}}
53       
54        // done
55       
56        {latit}{lonxit}{zoom}{hauteur=#GET{height}}{largeur=#GET{width}}{id_carte_gis}{zoom_molette=#ENV{zoom_molette}}
57        {control}{control_type=#ENV{control_type}}{type}{limit=#ENV{limit}}
58        {id_rubrique=#GET{id_rubrique}}{id_secteur}{id_mot}{id_article}{id_auteur}{recherche}{id_groupe}
59        {id_a_ouvrir=#ENV{id_a_ouvrir}}
60]
61
62<div id="map[(#GET{id})]" class="carte_gis"[(#ENV{style}|!={'non'}|?{' '})style="[width:(#GET{width});][ height:(#GET{height});]"]></div>
63
64<script type="text/javascript">/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/
65[(#CONFIG{gis/api}|=={cloudmade}|oui)
66var cloudmade_key = '#CONFIG{gis/api_key_cloudmade}';]
67
68var map[(#GET{id})];
69
70(function($){
71       
72        var init_map[(#GET{id})] = function() {
73                var map_container = 'map[(#GET{id})]';
74                $('#map[(#GET{id})]').empty();
75                map[(#GET{id})] = new mxn.Mapstraction(map_container,'[(#REM|gis_api_utilisee)]');
76               
77                [(#ENV{zoom_molette,#ENV{zoom_wheel}}|!={non}|oui)
78                map[(#GET{id})].enableScrollWheelZoom();]
79               
80                map[(#GET{id})].setCenterAndZoom(new mxn.LatLonPoint(#GET{lat},#GET{lon}),#ENV{zoom,#CONFIG{gis/zoom,0}});
81
82                [(#SET{maptype, #REM|gis_maptype_utilise})]
83                [(#ENV{type}|oui)
84                [(#ENV{type}|=={'carte'}|oui) #SET{maptype,ROAD} ]
85                [(#ENV{type}|=={'satellite'}|oui) #SET{maptype,SATELLITE} ]
86                [(#ENV{type}|=={'hybride'}|oui) #SET{maptype,HYBRID} ]
87                [(#ENV{type}|=={'relief'}|oui) #SET{maptype,PHYSICAL} ]
88                ]
89                // Pour l'API Openlayers, la methode n'existe pas
90                try {
91                        map[(#GET{id})].setMapType([mxn.Mapstraction.(#GET{maptype})]);
92                }
93                catch(err) {
94                        ;
95                }
96               
97                #SET{map_controls,#ARRAY}
98               
99                [(#ENV{no_control,#ENV{aucun_controle}}|!={oui}|oui)
100                        [(#SET{map_controls,#GET{map_controls}|array_merge{#ARRAY{zoom,#ENV{control_zoom,large}}}})]
101                ]
102                [(#ENV{overview}|oui)
103                        [(#SET{map_controls,#GET{map_controls}|array_merge{#ARRAY{overview,true}}})]
104                ]
105                [(#ENV{scale}|oui)
106                        [(#SET{map_controls,#GET{map_controls}|array_merge{#ARRAY{scale,true}}})]
107                ]
108                        [(#ENV{control_type,#ENV{controle_type}}|!={non}|oui)
109                [(#SET{map_controls,#GET{map_controls}|array_merge{#ARRAY{map_type,true}}})]
110                ]
111                [(#ENV{control_pan,#ENV{contole_pan}}|!={non}|oui)
112                        [(#SET{map_controls,#GET{map_controls}|array_merge{#ARRAY{pan,true}}})]
113                ]
114               
115                map[(#GET{id})].addControls([(#GET{map_controls}|json_encode)]);
116
117                [(#ENV{point}|!={non}|oui)
118                jQuery.getJSON("[(#URL_PAGE{gis_json}|url_absolue)]",
119                        {[
120                                objets : "(#ENV{objets}|trim)",][
121                                id_rubrique : (#ENV{id_rubrique}|trim),][
122                                id_secteur : (#ENV{id_secteur}|trim),][
123                                id_parent : (#ENV{id_parent}|trim),][
124                                id_article : (#ENV{id_article}|trim),][
125                                id_breve : (#ENV{id_breve}|trim),][
126                                id_document : (#ENV{id_document}|trim),][
127                                media : "(#ENV{media}|trim)",][
128                                id_mot : (#ENV{id_mot}|trim),][
129                                id_groupe : (#ENV{id_groupe}|trim),][
130                                id_auteur : (#ENV{id_auteur}|trim),][
131                                id_syndic : (#ENV{id_syndic}|trim),][
132                                id_forum : (#ENV{id_forum}|trim),][
133                                id_evenement : (#ENV{id_evenement}|trim),][
134                                id_gis : (#ENV{id_gis}|trim),][
135                                recherche : "(#ENV{recherche})",][
136                                mots : (#ENV{mots}|?{[(#ENV{mots}|trim|json_encode)],''}),][
137                                limit : (#ENV{limit,#ENV{limite,500}}|trim)]
138                        },
139                        function(data) {
140                                if (data){
141                                        map[(#GET{id})].addJSON(data);
142                                        [(#ENV{autocenterandzoom,#ENV{centrer_auto}}|oui)
143                                        var markers = map[(#GET{id})].markers;
144                                        if (markers.length == 1){
145                                                map[(#GET{id})].setCenterAndZoom(new mxn.LatLonPoint(markers[(#VAL{91}|chr)]0[(#VAL{93}|chr)].location.lat,markers[(#VAL{91}|chr)]0[(#VAL{93}|chr)].location.lon),#ENV{zoom,#CONFIG{gis/zoom,0}});
146                                        } else {
147                                                map[(#GET{id})].autoCenterAndZoom();
148                                        }]
149                                        [(#ENV{autofocus_marker}|oui)
150                                        gis_autofocus_marker('[(#GET{id})]');]
151                                        [gis_focus_marker((#ENV{id_a_ouvrir}),['(#GET{id})']);]
152                                }
153                        }
154                );]
155               
156                [(#ENV{kml}|oui)
157                [(#ENV{kml}|intval|oui)
158                map[(#GET{id})].addOverlay(['(#ENV{kml}|generer_url_entite{document}|url_absolue)']);]
159                [(#ENV{kml}|intval|non)
160                map[(#GET{id})].addOverlay(['(#ENV{kml})']);]
161                ]
162               
163                [(#ENV{localize_visitor,#ENV{localiser_visiteur}}|oui)
164                gis_get_navigator_location(map[(#GET{id})],#ENV{zoom,#CONFIG{gis/zoom,0}});]
165               
166        }
167
168        $(function(){
169                init_map[(#GET{id})]();
170                [(#ENV{ajaxload}|!={non}|oui)onAjaxLoad(init_map[(#GET{id})]);]
171        });
172
173})(jQuery);
174/*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/
175</script>
Note: See TracBrowser for help on using the repository browser.