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

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

Cacher la carte et les inputs si on prévoit de supprimer le point

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