Ignore:
Timestamp:
07/20/11 15:21:29 (9 years ago)
Author:
b_b
Message:

-* report de http://zone.spip.org/trac/spip-zone/changeset/49788
-* une ancienne modif de gis2 : passer les champs d'adresse du geocoder en hidden si la conf indique de ne pas les afficher (ainsi on stocke tout de même les infos d'adresse en base)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins_spip/diogene_complements/diogene_geo/formulaires/diogene_ajouter_medias_geo.html

    r5601 r5605  
    1414                                <!--
    1515                                var form_map;
     16                                var annuler_geocoder = 0;
    1617                                [(#ENV{recherche}|!={non}|oui|et{#CONFIG{gis/geocoder}|oui})
    1718                                [(#SET{geocoder,oui})]
     
    2021                                (function($){
    2122
    22                                         var maj_inputs = function(map,data) {
     23                                        var maj_inputs = function(map,data,action) {
     24                                                [(#GET{geocoder}|oui)
     25                                                if (action != 'geocoding') {
     26                                                        var f = geocoder.geocode(data);
     27                                                }]
    2328                                                var zoom = map.getZoom();
    2429                                                $("#champ_zoom").val(zoom);
    25                                                 [(#GET{geocoder}|oui)
    26                                                         $("#champ_lat").val(data.point.lat);
    27                                                         $("#champ_lon").val(data.point.lon);
    28                                                         $('#champ_adresse').val(data.street);
    29                                                         $('#champ_code_postal').val(data.postcode);
    30                                                         $('#champ_ville').val(data.locality);
    31                                                         $('#champ_region').val(data.region);
    32                                                         $('#champ_pays').val(data.country);
    33                                                 ][(#GET{geocoder}|non)
     30                                                if(action == 'click'){
    3431                                                        $("#champ_lat").val(data.lat);
    3532                                                        $("#champ_lon").val(data.lon);
    36                                                 ]
     33                                                        annuler_geocoder = 1;
     34                                                        form_map.setCenter(data);
     35                                                        marker = new mxn.Marker(data);
     36                                                }
     37                                                else if(annuler_geocoder != 1){
     38                                                        if(data.point == 'undefined'){
     39                                                                $("#champ_lat").val(data.lat);
     40                                                                $("#champ_lon").val(data.lon);
     41                                                                form_map.setCenter(data);
     42                                                                marker = new mxn.Marker(data);
     43                                                        }else{
     44                                                                $("#champ_lat").val(data.point.lat);
     45                                                                $("#champ_lon").val(data.point.lon);
     46                                                                form_map.setCenter(data.point);
     47                                                                marker = new mxn.Marker(data.point);
     48                                                        }
     49                                                }
     50                                                form_map.removeAllMarkers();
     51                                                form_map.addMarker(marker);
    3752                                        }
    3853                                       
    3954                                        [(#GET{geocoder}|oui)
    4055                                        function geocode(query) {
    41                                                 form_map.setCenter(query.point);
    42                                                 geocode_marker = new mxn.Marker(query.point);
    43                                                 form_map.removeAllMarkers();
    44                                                 form_map.addMarker(geocode_marker);
    45                                                 maj_inputs(form_map,query);
    46                                                 [(#ENV{id_gis}|non)
    47                                                 $('#champ_gis_titre').val(query.locality + ", " + query.region + ", " + query.country);]
     56                                                $('#champ_adresse').val(query.street);
     57                                                $('#champ_code_postal').val(query.postcode);
     58                                                $('#champ_ville').val(query.locality);
     59                                                $('#champ_region').val(query.region);
     60                                                $('#champ_pays').val(query.country);
     61                                                maj_inputs(form_map,query,'geocoding');
    4862                                        }]
    4963                               
     
    7084                                                        // mettre a jour les coordonnees quand on clique la carte
    7185                                                        form_map.click.addHandler(function(name, source, args) {
     86                                                                annuler_geocoder = 0;
    7287                                                                var pos = args.location;
    73                                                                 form_map.removeAllMarkers();
    74                                                                 marker = new mxn.Marker(pos);
    75                                                                 form_map.addMarker(marker);
    76                                                                 form_map.setCenter(pos,{pan:true});
    77                                                                 [(#GET{geocoder}|non)
    78                                                                 maj_inputs(form_map,pos);]
    79                                                                 [(#GET{geocoder}|oui)
    80                                                                 geocoder.geocode(pos);]
     88                                                                maj_inputs(form_map,pos,'click');
    8189                                                        });
    8290                                                       
     
    94102                                                                var address = {};
    95103                                                                address.address = $("#champ_gis_adresse").attr("value");
     104                                                                annuler_geocoder = 0;
    96105                                                                geocoder.geocode(address);
    97106                                                        });
     
    155164                        label=<:diogene_geo:gis_info_descriptif:>,
    156165                        rows=5})]
    157                 [(#CONFIG{gis/adresse}|=={on}|oui)
    158                         [(#SAISIE{input,adresse,
    159                                 label=<:gis:label_adress:>})]
    160                         [(#SAISIE{input,code_postal,
    161                                 label=<:gis:label_code_postal:>})]
    162                         [(#SAISIE{input,ville,
    163                                 label=<:gis:label_ville:>})]
    164                         [(#SAISIE{input,region,
    165                                 label=<:gis:label_region:>})]
    166                         [(#SAISIE{input,pays,
    167                                 label=<:gis:label_pays:>})]
    168                 ]
     166                [(#CONFIG{gis/adresse}|=={on}|?{#SET{input_type,input},#SET{input_type,hidden}})]
     167                [(#SAISIE{#GET{input_type},adresse,
     168                        label=<:gis:label_adress:>})]
     169                [(#SAISIE{#GET{input_type},code_postal,
     170                        label=<:gis:label_code_postal:>})]
     171                [(#SAISIE{#GET{input_type},ville,
     172                        label=<:gis:label_ville:>})]
     173                [(#SAISIE{#GET{input_type},region,
     174                        label=<:gis:label_region:>})]
     175                [(#SAISIE{#GET{input_type},pays,
     176                        label=<:gis:label_pays:>})]
    169177        </ul>
    170178</fieldset>
Note: See TracChangeset for help on using the changeset viewer.