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

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

On prend en compte la nouvelle fonctionnalité de GIS de centrage automatique de l'utilisateur lors de la création de points

On vide les request des données géo lors de la suppression d'un point

File size: 5.2 KB
Line 
1#CACHE{0}
2
3<li class="fieldset diogene_geo" id="diogene_geo">
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                                                        $("#champ_zoom").val(zoom);
93                                                });
94                                               
95                                                [(#GET{geocoder}|oui)
96                                                // geocoder si clic...
97                                                $('a#gis_rechercher').css("cursor","pointer").click(function(){
98                                                        var address = {};
99                                                        address.address = $("#champ_gis_adresse").attr("value");
100                                                        geocoder.geocode(address);
101                                                });
102                               
103                                                // ne pas soumettre le formulaire si on presse Entree depuis le champ de recherche
104                                                $('#champ_gis_adresse').keypress(function(e){
105                                                        if (e.which == 13) {
106                                                                $('a#gis_rechercher').trigger("click");
107                                                                return false;
108                                                        }
109                                                });]
110                                               
111                                                $('#champ_gis_supprimer').change(function(){
112                                                        if($(this).is(':checked')){
113                                                                $('#diogene_geo li').not('.editer_gis_supprimer').slideUp();
114                                                        }else{
115                                                                $('#diogene_geo li').not('.editer_gis_supprimer').slideDown();
116                                                        }
117                                                });
118                                               
119                                                [(#ENV{id_gis}|non|et{#CONFIG{gis/geolocaliser_user_html5}|=={on}}|oui)
120                                                gis_get_navigator_location(form_map,#ENV{zoom,#CONFIG{gis/zoom,0}});]
121                                        };
122                               
123                                        $(function(){
124                                                init_map();
125                                                onAjaxLoad(init_map);
126                                        });
127                                       
128                                })(jQuery);
129                                -->
130                                </script>
131                        </li>
132                [(#SAISIE{hidden,id_gis})]
133                [(#GET{geocoder}|oui)
134                <li class="rechercher_adresse">
135                        <label for="champ_gis_adresse"><:gis:label_rechercher_address:></label>
136                        <input type="text" class="text nomulti" name="champ_gis_adresse" id="champ_gis_adresse" value="" />
137                        <a id="gis_rechercher"><:info_rechercher:></a>
138                </li>]
139                [(#SAISIE{input,lat,
140                        label=<:gis:lat:>,
141                        class=nomulti,
142                        obligatoire=oui})]
143                [(#SAISIE{input,lon,
144                        label=<:gis:lon:>,
145                        class=nomulti,
146                        obligatoire=oui})]
147                [(#SAISIE{input,zoom,
148                        label=<:gis:zoom:>,
149                        size=2,
150                        maxlength=2,
151                        class=nomulti,
152                        obligatoire=oui})]
153                [(#SAISIE{input,gis_titre,
154                        label=<:info_titre:>,
155                        obligatoire=oui})]
156                [(#SAISIE{textarea,gis_descriptif,
157                        label=<:info_descriptif:>,
158                        rows=5})]
159                [(#CONFIG{gis/adresse}|=={on}|oui)
160                        [(#SAISIE{input,adresse,
161                                label=<:gis:label_adress:>})]
162                        [(#SAISIE{input,code_postal,
163                                label=<:gis:label_code_postal:>})]
164                        [(#SAISIE{input,ville,
165                                label=<:gis:label_ville:>})]
166                        [(#SAISIE{input,region,
167                                label=<:gis:label_region:>})]
168                        [(#SAISIE{input,pays,
169                                label=<:gis:label_pays:>})]
170                ]
171        </ul>
172</fieldset>
173</li>
Note: See TracBrowser for help on using the repository browser.