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

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

Et on enregistre le bouzin

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