source: plugins_spip/diogene_complements/diogene_geo/formulaires/diogene_ajouter_medias_geo.html @ 4943

Last change on this file since 4943 was 4943, checked in by kent1, 9 years ago

On change les labels du titre + description pour ne pas troubler les gens ...

On ne change le zoom que si on a un point au changement de zoom ... cela évite d'avoir un zoom d'entrée de jeu et donc de devoir le supprimer si on ne souhaite pas mettre de point

Un peu d'explications sur les pipelines

File size: 5.3 KB
Line 
1#CACHE{0}
2
3<li class="fieldset diogene_geo" id="diogene_geo">#ENV{zoom}
4<fieldset>
5        <h3 class="legend"><:diogene_geo:form_legend:></h3>
6        <ul>
7                [(#ENV{id_gis}|oui)
8                        [(#SAISIE{case, gis_supprimer,
9                                label=<:diogene_geo:label_supprimer_gis:>})]
10                ]
11                <li style="padding:0" class="editer editer_carte">
12                        <div id="geomap" name="formMap" style="width: 100%; height: 350px"></div>
13                                <script type="text/javascript">
14                                <!--
15                                var form_map;
16                                [(#ENV{recherche}|!={non}|oui|et{#CONFIG{gis/geocoder}|oui})
17                                [(#SET{geocoder,oui})]
18                                var geocoder;]
19                               
20                                (function($){
21
22                                        var maj_inputs = function(map,pos) {
23                                                var zoom = map.getZoom();
24                                                $("#champ_lat").val(pos.lat);
25                                                $("#champ_lon").val(pos.lon);
26                                                $("#champ_zoom").val(zoom);
27                                        }
28                                       
29                                        [(#GET{geocoder}|oui)
30                                        function geocode(address) {
31                                                form_map.setCenterAndZoom(address.point, 15);
32                                                geocode_marker = new mxn.Marker(address.point);
33                                                var info = address.locality + ", " + address.region + ", " + address.country;
34                                                geocode_marker.setInfoBubble(info);
35                                                form_map.removeAllMarkers();
36                                                form_map.addMarker(geocode_marker);
37                                                geocode_marker.openBubble();
38                                                maj_inputs(form_map,address.point);
39                                                if($('#champ_gis_titre').val() == ''){
40                                                        $('#champ_gis_titre').val(info);
41                                                }
42                                                if(address.street != ''){
43                                                        $('#champ_adresse').val(address.street)
44                                                }
45                                                if(address.postal_code != ''){
46                                                        $('#champ_code_postal').val(address.postal_code)
47                                                }
48                                                if(address.locality != ''){
49                                                        $('#champ_ville').val(address.locality)
50                                                }
51                                                if(address.region != ''){
52                                                        $('#champ_region').val(address.region)
53                                                }
54                                                if(address.country != ''){
55                                                        $('#champ_pays').val(address.country)
56                                                }
57                                        }]
58                               
59                                        var init_map = function() {
60                                                // creer la carte
61                                                var map_container = 'geomap';
62                                                form_map = new mxn.Mapstraction(map_container,'#CONFIG{gis/api,openlayers}');
63                                                form_map.setCenterAndZoom(new mxn.LatLonPoint(#ENV{lat,#CONFIG{gis/lat,0}},#ENV{lon,#CONFIG{gis/lon,0}}),#ENV{zoom,#CONFIG{gis/zoom,0}});
64                                                form_map.addControls({
65                                                        pan: true,
66                                                        zoom: '#CONFIG{gis/control,large}',
67                                                        map_type: true
68                                                });
69                                                [(#GET{geocoder}|oui)
70                                                // geocoder
71                                                geocoder = new mxn.Geocoder('#CONFIG{gis/api,openlayers}',geocode);]
72                                               
73                                                [(#ENV{lat}|oui)
74                                                point = new mxn.LatLonPoint([(#ENV{lat})],[(#ENV{lon})]);
75                                                marker = new mxn.Marker(point);
76                                                form_map.addMarker(marker);]
77                                               
78                                                // mettre a jour les coordonnees quand on clique la carte
79                                                form_map.click.addHandler(function(name, source, args) {
80                                                        var pos = args.location;
81                                                        form_map.removeAllMarkers();
82                                                        marker = new mxn.Marker(pos);
83                                                        marker.setDraggable(true);
84                                                        form_map.addMarker(marker);
85                                                        form_map.setCenter(pos,{pan:true});
86                                                        maj_inputs(form_map,pos);
87                                                });
88                                               
89                                                // mettre à jour le zoom quand on le modifie
90                                                form_map.changeZoom.addHandler(function(name, source, args) {
91                                                        var zoom = source.getZoom();
92                                                        if ($("#champ_zoom").val() > 0) {
93                                                                $("#champ_zoom").val(zoom);
94                                                        }
95                                                });
96                                               
97                                                [(#GET{geocoder}|oui)
98                                                // geocoder si clic...
99                                                $('a#gis_rechercher').css("cursor","pointer").click(function(){
100                                                        var address = {};
101                                                        address.address = $("#champ_gis_adresse").attr("value");
102                                                        geocoder.geocode(address);
103                                                });
104                               
105                                                // ne pas soumettre le formulaire si on presse Entree depuis le champ de recherche
106                                                $('#champ_gis_adresse').keypress(function(e){
107                                                        if (e.which == 13) {
108                                                                $('a#gis_rechercher').trigger("click");
109                                                                return false;
110                                                        }
111                                                });]
112                                               
113                                                $('#champ_gis_supprimer').change(function(){
114                                                        if($(this).is(':checked')){
115                                                                $('#diogene_geo li').not('.editer_gis_supprimer').slideUp();
116                                                        }else{
117                                                                $('#diogene_geo li').not('.editer_gis_supprimer').slideDown();
118                                                        }
119                                                });
120                                               
121                                                [(#ENV{id_gis}|non|et{#CONFIG{gis/geolocaliser_user_html5}|=={on}}|oui)
122                                                gis_get_navigator_location(form_map,#ENV{zoom,#CONFIG{gis/zoom,0}});]
123                                        };
124                               
125                                        $(function(){
126                                                init_map();
127                                                onAjaxLoad(init_map);
128                                        });
129                                       
130                                })(jQuery);
131                                -->
132                                </script>
133                        </li>
134                [(#SAISIE{hidden,id_gis})]
135                [(#GET{geocoder}|oui)
136                <li class="rechercher_adresse">
137                        <label for="champ_gis_adresse"><:gis:label_rechercher_address:></label>
138                        <input type="text" class="text nomulti" name="champ_gis_adresse" id="champ_gis_adresse" value="" />
139                        <a id="gis_rechercher"><:info_rechercher:></a>
140                </li>]
141                [(#SAISIE{input,lat,
142                        label=<:gis:lat:>,
143                        class=nomulti,
144                        obligatoire=oui})]
145                [(#SAISIE{input,lon,
146                        label=<:gis:lon:>,
147                        class=nomulti,
148                        obligatoire=oui})]
149                [(#SAISIE{input,zoom,
150                        label=<:gis:zoom:>,
151                        size=2,
152                        maxlength=2,
153                        class=nomulti,
154                        obligatoire=oui,
155                        defaut=''})]
156                [(#SAISIE{input,gis_titre,
157                        label=<:diogene_geo:gis_info_titre:>,
158                        obligatoire=oui})]
159                [(#SAISIE{textarea,gis_descriptif,
160                        label=<:diogene_geo:gis_info_descriptif:>,
161                        rows=5})]
162                [(#CONFIG{gis/adresse}|=={on}|oui)
163                        [(#SAISIE{input,adresse,
164                                label=<:gis:label_adress:>})]
165                        [(#SAISIE{input,code_postal,
166                                label=<:gis:label_code_postal:>})]
167                        [(#SAISIE{input,ville,
168                                label=<:gis:label_ville:>})]
169                        [(#SAISIE{input,region,
170                                label=<:gis:label_region:>})]
171                        [(#SAISIE{input,pays,
172                                label=<:gis:label_pays:>})]
173                ]
174        </ul>
175</fieldset>
176</li>
Note: See TracBrowser for help on using the repository browser.