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

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

En géocodant, on vire le point précédent

File size: 3.8 KB
Line 
1#CACHE{0}
2
3<li class="fieldset diogene_geo">
4<fieldset>
5        <h3 class="legend"><:diogene_geo:form_legend:></h3>
6        <ul>
7                <li style="padding:0" class="editer editer_carte">
8                        <div id="geomap" name="formMap" style="width: 100%; height: 350px"></div>
9                                <script type="text/javascript">
10                                <!--
11                                var form_map;
12                                [(#ENV{recherche}|!={non}|oui|et{#CONFIG{gis/geocoder}|oui})
13                                [(#SET{geocoder,oui})]
14                                var geocoder;]
15                               
16                                (function($){
17                                       
18                                        var maj_inputs = function(map,pos) {
19                                                var zoom = map.getZoom();
20                                                $("#champ_lat").val(pos.lat);
21                                                $("#champ_lon").val(pos.lon);
22                                                $("#champ_zoom").val(zoom);
23                                        }
24                                       
25                                        [(#GET{geocoder}|oui)
26                                        function geocode(address) {
27                                                form_map.setCenterAndZoom(address.point, 15);
28                                                geocode_marker = new mxn.Marker(address.point);
29                                                var info = address.locality + ", " + address.region;
30                                                geocode_marker.setInfoBubble(info);
31                                                form_map.removeAllMarkers();
32                                                form_map.addMarker(geocode_marker);
33                                                geocode_marker.openBubble();
34                                                maj_inputs(form_map,address.point);
35                                        }]
36                               
37                                        var init_map = function() {
38                                                // creer la carte
39                                                var map_container = 'geomap';
40                                                form_map = new mxn.Mapstraction(map_container,'#CONFIG{gis/api,openlayers}');
41                                                form_map.setCenterAndZoom(new mxn.LatLonPoint(#ENV{lat,#CONFIG{gis/lat,0}},#ENV{lon,#CONFIG{gis/lon,0}}),#ENV{zoom,#CONFIG{gis/zoom,0}});
42                                                form_map.addControls({
43                                                        pan: true,
44                                                        zoom: '#CONFIG{gis/control,large}',
45                                                        map_type: true
46                                                });
47                                                [(#GET{geocoder}|oui)
48                                                // geocoder
49                                                geocoder = new mxn.Geocoder('#CONFIG{gis/api,openlayers}',geocode);]
50                                               
51                                                [(#ENV{lat}|oui)
52                                                point = new mxn.LatLonPoint([(#ENV{lat})],[(#ENV{lon})]);
53                                                marker = new mxn.Marker(point);
54                                                form_map.addMarker(marker);]
55                                               
56                                                // mettre a jour les coordonnees quand on clique la carte
57                                                form_map.click.addHandler(function(name, source, args) {
58                                                        var pos = args.location;
59                                                        form_map.removeAllMarkers();
60                                                        marker = new mxn.Marker(pos);
61                                                        marker.setDraggable(true);
62                                                        form_map.addMarker(marker);
63                                                        form_map.setCenter(pos,{pan:true});
64                                                        maj_inputs(form_map,pos);
65                                                });
66                                               
67                                                // mettre à jour le zoom quand on le modifie
68                                                form_map.changeZoom.addHandler(function(name, source, args) {
69                                                        var zoom = source.getZoom();
70                                                        $("#champ_zoom").val(zoom);
71                                                });
72                                               
73                                                [(#GET{geocoder}|oui)
74                                                // geocoder si clic...
75                                                $('a#gis_rechercher').css("cursor","pointer").click(function(){
76                                                        var address = {};
77                                                        address.address = $("#champ_gis_adresse").attr("value");
78                                                        geocoder.geocode(address);
79                                                });
80                               
81                                                // ne pas soumettre le formulaire si on presse Entree depuis le champ de recherche
82                                                $('#champ_gis_adresse').keypress(function(e){
83                                                        if (e.which == 13) {
84                                                                $('a#gis_rechercher').trigger("click");
85                                                                return false;
86                                                        }
87                                                });]
88                               
89                                        };
90                               
91                                        $(function(){
92                                                init_map();
93                                                onAjaxLoad(init_map);
94                                        });
95                                       
96                                })(jQuery);
97                                -->
98                                </script>
99                        </li>
100                [(#SAISIE{hidden,id_gis})]
101                [(#GET{geocoder}|oui)
102                <li class="rechercher_adresse">
103                        <label for="champ_adresse"><:gis:label_address:></label>
104                        <input type="text" class="text nomulti" name="champ_gis_adresse" id="champ_gis_adresse" value="" />
105                        <a id="gis_rechercher"><:info_rechercher:></a>
106                </li>]
107                [(#SAISIE{input,lat,
108                        label=<:gis:lat:>,
109                        class=nomulti,
110                        obligatoire=oui})]
111                [(#SAISIE{input,lon,
112                        label=<:gis:lon:>,
113                        class=nomulti,
114                        obligatoire=oui})]
115                [(#SAISIE{input,zoom,
116                        label=<:gis:zoom:>,
117                        size=2,
118                        maxlength=2,
119                        class=nomulti,
120                        obligatoire=oui})]
121                [(#SAISIE{input,gis_titre,
122                        label=<:info_titre:>,
123                        obligatoire=oui})]
124                [(#SAISIE{textarea,gis_descriptif,
125                        label=<:info_descriptif:>,
126                        rows=5})]
127        </ul>
128</fieldset>
129</li>
Note: See TracBrowser for help on using the repository browser.