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

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

Les controles de base sur la carte

On recharge les données du $_POST au rechargement du formulaire

File size: 3.7 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.addMarker(geocode_marker);
32                                                geocode_marker.openBubble();
33                                                maj_inputs(form_map,address.point);
34                                        }]
35                               
36                                        var init_map = function() {
37                                                // creer la carte
38                                                var map_container = 'geomap';
39                                                form_map = new mxn.Mapstraction(map_container,'#CONFIG{gis/api,openlayers}');
40                                                form_map.setCenterAndZoom(new mxn.LatLonPoint(#ENV{lat,#CONFIG{gis/lat,0}},#ENV{lon,#CONFIG{gis/lon,0}}),#ENV{zoom,#CONFIG{gis/zoom,0}});
41                                                form_map.addControls({
42                                                        pan: true,
43                                                        zoom: '#CONFIG{gis/control,large}',
44                                                        map_type: true
45                                                });
46                                                [(#GET{geocoder}|oui)
47                                                // geocoder
48                                                geocoder = new mxn.Geocoder('#CONFIG{gis/api,openlayers}',geocode);]
49                                               
50                                                [(#ENV{lat}|oui)
51                                                point = new mxn.LatLonPoint([(#ENV{lat})],[(#ENV{lon})]);
52                                                marker = new mxn.Marker(point);
53                                                form_map.addMarker(marker);]
54                                               
55                                                // mettre a jour les coordonnees quand on clique la carte
56                                                form_map.click.addHandler(function(name, source, args) {
57                                                        var pos = args.location;
58                                                        form_map.removeAllMarkers();
59                                                        marker = new mxn.Marker(pos);
60                                                        marker.setDraggable(true);
61                                                        form_map.addMarker(marker);
62                                                        form_map.setCenter(pos,{pan:true});
63                                                        maj_inputs(form_map,pos);
64                                                });
65                                               
66                                                // mettre à jour le zoom quand on le modifie
67                                                form_map.changeZoom.addHandler(function(name, source, args) {
68                                                        var zoom = source.getZoom();
69                                                        $("#champ_zoom").val(zoom);
70                                                });
71                                               
72                                                [(#GET{geocoder}|oui)
73                                                // geocoder si clic...
74                                                $('a#gis_rechercher').css("cursor","pointer").click(function(){
75                                                        var address = {};
76                                                        address.address = $("#champ_gis_adresse").attr("value");
77                                                        geocoder.geocode(address);
78                                                });
79                               
80                                                // ne pas soumettre le formulaire si on presse Entree depuis le champ de recherche
81                                                $('#champ_gis_adresse').keypress(function(e){
82                                                        if (e.which == 13) {
83                                                                $('a#rechercher').trigger("click");
84                                                                return false;
85                                                        }
86                                                });]
87                               
88                                        };
89                               
90                                        $(function(){
91                                                init_map();
92                                                onAjaxLoad(init_map);
93                                        });
94                                       
95                                })(jQuery);
96                                -->
97                                </script>
98                        </li>
99                [(#SAISIE{hidden,id_gis})]
100                [(#GET{geocoder}|oui)
101                <li class="rechercher_adresse">
102                        <label for="champ_adresse"><:gis:label_address:></label>
103                        <input type="text" class="text nomulti" name="champ_gis_adresse" id="champ_gis_adresse" value="" />
104                        <a id="gis_rechercher"><:info_rechercher:></a>
105                </li>]
106                [(#SAISIE{input,lat,
107                        label=<:gis:lat:>,
108                        class=nomulti,
109                        obligatoire=oui})]
110                [(#SAISIE{input,lon,
111                        label=<:gis:lon:>,
112                        class=nomulti,
113                        obligatoire=oui})]
114                [(#SAISIE{input,zoom,
115                        label=<:gis:zoom:>,
116                        size=2,
117                        maxlength=2,
118                        class=nomulti,
119                        obligatoire=oui})]
120                [(#SAISIE{input,gis_titre,
121                        label=<:info_titre:>,
122                        obligatoire=oui})]
123                [(#SAISIE{textarea,gis_descriptif,
124                        label=<:info_descriptif:>,
125                        rows=5})]
126        </ul>
127</fieldset>
128</li>
Note: See TracBrowser for help on using the repository browser.