Changeset 81048 in spip-zone


Ignore:
Timestamp:
Feb 25, 2014, 7:31:58 PM (6 years ago)
Author:
toutati@…
Message:

Ajout dun champ département, pour l'instant le geocoding ne retourne pas encore le departement,

avec un exemple

http://nominatim.openstreetmap.org/search.php?q=10+rue+vestrepain&format=json

Location:
_plugins_/gis/trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gis/trunk/base/gis.php

    r78978 r81048  
    2424        $interface['table_des_traitements']['PAYS_GIS'][] = 'typo(extraire_multi(%s))';
    2525        $interface['table_des_traitements']['REGION_GIS'][] = 'typo(extraire_multi(%s))';
     26        $interface['table_des_traitements']['DEPARTEMENT_GIS'][] = 'typo(extraire_multi(%s))'; //alm
    2627        $interface['table_des_traitements']['VILLE'][] = 'typo(extraire_multi(%s))';
    2728        $interface['table_des_traitements']['PAYS'][] = 'typo(extraire_multi(%s))';
    2829        $interface['table_des_traitements']['REGION'][] = 'typo(extraire_multi(%s))';
     30        $interface['table_des_traitements']['DEPARTEMENT'][] = 'typo(extraire_multi(%s))'; //alm
    2931
    3032        return $interface;
     
    5254                        "code_pays" => "varchar(255) NOT NULL DEFAULT ''",
    5355                        "region" => "text NOT NULL DEFAULT ''",
     56                        "departement" => "text NOT NULL DEFAULT ''",
    5457                        "ville" => "text NOT NULL DEFAULT ''",
    5558                        "code_postal" => "varchar(255) NOT NULL DEFAULT ''"
     
    6265                        'KEY code_pays' => 'code_pays',
    6366                        'KEY region' => 'region(500)',
     67                        'KEY departement' => 'departement(500)',
    6468                        'KEY ville' => 'ville(500)',
    6569                        'KEY code_postal' => 'code_postal',
     
    7680                'url_edit' => 'gis_edit',
    7781                'editable' => 'oui',
    78                 'champs_editables' => array('lat', 'lon', 'zoom', 'titre', 'descriptif', 'adresse', 'code_postal', 'ville', 'region', 'pays', 'code_pays'),
     82                'champs_editables' => array('lat', 'lon', 'zoom', 'titre', 'descriptif', 'adresse', 'code_postal', 'ville', 'region', 'departement', 'pays', 'code_pays'),
    7983                /*'champs_editables' => array(), */
    8084                'icone_objet' => 'gis',
     
    8488                        'pays' => 3,
    8589                        'region' => 3,
     90                        'departement' => 3,
    8691                        'ville' => 3,
    8792                        'code_postal' => 3,
  • _plugins_/gis/trunk/formulaires/editer_gis.html

    r78978 r81048  
    4646                                [(#SAISIE{input,ville,
    4747                                        label=<:gis:label_ville:>})]
     48                                [(#SAISIE{input,departement,
     49                                        label=<:gis:label_departement:>})]
    4850                                [(#SAISIE{input,region,
    4951                                        label=<:gis:label_region:>})]
  • _plugins_/gis/trunk/gis_administrations.php

    r78829 r81048  
    5959        );
    6060       
     61        // Ajout du département dans les champs de coordonnées
     62        $maj['2.0.5'] = array(
     63                array('maj_tables',array('spip_gis')),
     64        );
     65       
    6166        include_spip('base/upgrade');
    6267        maj_plugin($nom_meta_base_version, $version_cible, $maj);
  • _plugins_/gis/trunk/gis_fonctions.php

    r80098 r81048  
    189189                $boucle->select[]= 'gis.code_pays AS code_pays_gis';
    190190                $boucle->select[]= 'gis.region AS region_gis';
     191                $boucle->select[]= 'gis.departement AS departement_gis';
    191192                $boucle->select[]= 'gis.ville AS ville_gis';
    192193                $boucle->select[]= 'gis.code_postal AS code_postal_gis';
     
    203204                $tous_les_points = true;
    204205                foreach ($boucle->group as $champ){
    205                         if (in_array($champ, array('ville', 'code_postal', 'pays', 'code_pays', 'region'))) {
     206                        if (in_array($champ, array('ville', 'code_postal', 'pays', 'code_pays', 'region','departement'))) {
    206207                                $tous_les_points = false;
    207208                        }
     
    301302function balise_region_gis_dist($p) {
    302303        return rindex_pile($p, 'region_gis', 'gis');
     304}
     305
     306/**
     307 * Balise #DEPARTEMENT_GIS : retourne la région du point
     308 * Necessite le critere {gis} sur la boucle
     309 *
     310 * @param unknown_type $p
     311 */
     312function balise_departement_gis_dist($p) {
     313        return rindex_pile($p, 'departement_gis', 'gis');
    303314}
    304315
     
    347358                }
    348359                // puis cas particuliers et ceux ajoutés par le pipeline
    349                 $keys = pipeline('gis_modele_parametres_autorises', array("id_objet","id_secteur","id_parent","media","recherche","mots","pays","code_pays","region","ville","code_postal","adresse"));
     360                $keys = pipeline('gis_modele_parametres_autorises', array("id_objet","id_secteur","id_parent","media","recherche","mots","pays","code_pays","region","departement","ville","code_postal","adresse"));
    350361                foreach ($keys as $key){
    351362                        if (isset($env[$key]))
  • _plugins_/gis/trunk/gis_pipelines.php

    r80230 r81048  
    141141                                                                $region = $component['address_component'][0]['long_name'][0];
    142142                                                        }
     143                                                        if(in_array('administrative_area_level_2',$component['type'])){
     144                                                                $departement = $component['address_component'][0]['long_name'][0];
     145                                                        }
    143146                                                        if(in_array('locality',$component['type'])){
    144147                                                                $ville = $component['address_component'][0]['long_name'][0];
     
    189192                                                                                $region = $component['long_name'][0];
    190193                                                                        }
     194                                                                        if(in_array('administrative_area_level_2',$component['type'])){
     195                                                                                $departement = $component['long_name'][0];
     196                                                                        }
    191197                                                                        if(in_array('locality',$component['type'])){
    192198                                                                                $ville = $component['long_name'][0];
     
    208214                                        'ville' => $ville,
    209215                                        'region' => $region,
     216                                        'departement' => $departement,
    210217                                        'pays' => $pays,
    211218                                        'code_pays' => $code_pays
  • _plugins_/gis/trunk/javascript/gis_geocoder.js

    r80242 r81048  
    9292                                return_location.region = place.address.state;
    9393                        }
     94                        //un jour peut-être…
     95                        /*
     96                        if (place.address.county) {
     97                                return_location.departement = place.address.county;
     98                        }
     99                        */
    94100                        if (place.address.city) {
    95101                                return_location.locality = place.address.city;
  • _plugins_/gis/trunk/javascript/gis_init_map.js

    r80177 r81048  
    66        var map_container = mapcfg["mapid"];
    77
    8         // Création de la carte Leafleat
     8        // Cration de la carte Leafleat
    99        var map = new L.Map(map_container,{
    1010                scrollWheelZoom: mapcfg["scrollWheelZoom"],
     
    1717        jQuery("#"+map_container).get(0).map=map;
    1818
    19         // Appeler l'éventuelle fonction de callback et trigger "load"
     19        // Appeler l'ventuelle fonction de callback et trigger "load"
    2020        map.on('load',function(e){
    2121                if (mapcfg["callback"] && typeof(mapcfg["callback"]) === "function") {
     
    2626        });
    2727
    28         // Déterminer la position initiale de la carte
     28        // Dterminer la position initiale de la carte
    2929        if (!mapcfg['utiliser_bb']){
    3030                map.setView(new L.LatLng(mapcfg['lat'], mapcfg['lon']), mapcfg['zoom']);
     
    4646        }
    4747
    48         // Fond de carte par défaut (layer)
     48        // Fond de carte par dfaut (layer)
    4949        var default_layer = get_layer(mapcfg['default_layer']);
    5050        map.addLayer(default_layer);
     
    6161                }
    6262                map.addControl(layers_control);
    63                 // ajouter l'objet du controle de layers à la carte pour permettre d'y accéder depuis le callback
     63                // ajouter l'objet du controle de layers � la carte pour permettre d'y acc�der depuis le callback
    6464                map.layersControl = layers_control;
    65                 // classe noajax sur le layer_control pour éviter l'ajout de hidden par SPIP
     65                // classe noajax sur le layer_control pour viter l'ajout de hidden par SPIP
    6666                jQuery(layers_control._form).addClass('noajax');
    6767        }
     
    7070        map.attributionControl.setPrefix('');
    7171
    72         // Ajout des contrôles de la carte
     72        // Ajout des contrles de la carte
    7373        if (!mapcfg['no_control']){
    7474                if (mapcfg['scale'])
     
    8484        // API setGeoJsonFeatureIcon : Pour Ajouter l'icone d'un point (feature = item d'un GeoJson)
    8585        map.setGeoJsonFeatureIcon = function (feature, layer) {
    86                 // Déclarer l'icone du points, si défini
     86                // D�clarer l'icone du points, si d�fini
    8787                if (feature.properties && feature.properties.icon){
    8888                        icon_options = {
     
    103103        // API setGeoJsonFeaturePopup : Pour Ajouter le texte de popup d'un point (feature = item d'un GeoJson)
    104104        map.setGeoJsonFeaturePopup = function (feature, layer) {
    105                 // Déclarer le contenu de la popup s'il y en a
     105                // Dclarer le contenu de la popup s'il y en a
    106106                if (feature.properties && (feature.properties.title || feature.properties.description)){
    107107                        var popupContent = '';
     
    118118
    119119        /*
    120                 Il y a pour le moment 2 façons d'analyser le GeoJson calculé
     120                Il y a pour le moment 2 fa�ons d'analyser le GeoJson calcul�
    121121                en fonction de si on veut faire du clustering (regrouper les points proches)
    122                 ou non. Il y a certainement moyen de regrouper en un seul élément
    123                 la plupart du code, en se passant du js L.geoJson même hors clustering.
    124                 À réfléchir.
     122                ou non. Il y a certainement moyen de regrouper en un seul �l�ment
     123                la plupart du code, en se passant du js L.geoJson mme hors clustering.
     124                � r�fl�chir.
    125125        */
    126126        // API parseGeoJson
    127127        if (!mapcfg['cluster']){
    128                 // Analyse des points et déclaration (sans regroupement des points en cluster)
     128                // Analyse des points et dclaration (sans regroupement des points en cluster)
    129129                map.parseGeoJson = function(data) {
    130130                        if (data.features.length > 0) {
     
    132132                                        style: mapcfg['path_styles'],
    133133                                        onEachFeature: function (feature, layer) {
    134                                                 // Déclarer l'icone du point
     134                                                // Dclarer l'icone du point
    135135                                                map.setGeoJsonFeatureIcon(feature, layer);
    136                                                 // Déclarer le contenu de la popup s'il y en a
     136                                                // Dclarer le contenu de la popup s'il y en a
    137137                                                map.setGeoJsonFeaturePopup(feature, layer);
    138138                                        }
     
    150150        }
    151151        else {
    152                 // Analyse des points et déclaration (en regroupant les points en cluster)
     152                // Analyse des points et dclaration (en regroupant les points en cluster)
    153153                map.parseGeoJson = function(data) {
    154154                        var options = {
     
    164164                        map.markers = new L.MarkerClusterGroup(options);
    165165
    166                         /* Pour chaque points présents, on crée un marqueur */
     166                        /* Pour chaque points pr�sents, on cr�e un marqueur */
    167167                        jQuery.each(data.features, function(i, feature) {
    168168                                if (feature.geometry.coordinates[0]) {
     
    170170                                        var marker = new L.Marker(latlng);
    171171
    172                                         // Déclarer l'icone du point
     172                                        // Dclarer l'icone du point
    173173                                        map.setGeoJsonFeatureIcon(feature, marker);
    174                                         // Déclarer le contenu de la popup s'il y en a
     174                                        // Dclarer le contenu de la popup s'il y en a
    175175                                        map.setGeoJsonFeaturePopup(feature, marker);
    176176
     
    201201                && typeof(mapcfg['json_points'])!=="undefined"
    202202                && mapcfg['json_points']['url'].length){
    203                 // Récupération des points à mettre sur la carte, via json externe
     203                // R�cup�ration des points � mettre sur la carte, via json externe
    204204                var args = {};
    205205                jQuery.extend(true, args, mapcfg['json_points']['env']);
     
    222222                        function(data) {
    223223                                if (data){
    224                                         // Charger le json (data) et déclarer les points
     224                                        // Charger le json (data) et dclarer les points
    225225                                        map.parseGeoJson(data);
    226226                                        jQuery("#"+map_container).trigger('ready',map);
  • _plugins_/gis/trunk/lang/gis_fr.php

    r80269 r81048  
    128128        'label_rechercher_point' => 'Rechercher un point',
    129129        'label_region' => 'Région',
     130        'label_departement' => 'Département',
    130131        'label_ville' => 'Ville',
    131132        'lat' => 'Latitude',
  • _plugins_/gis/trunk/paquet.xml

    r80242 r81048  
    22        prefix="gis"
    33        categorie="divers"
    4         version="4.18.0"
    5         schema="2.0.4"
     4        version="4.19.0"
     5        schema="2.0.5"
    66        etat="stable"
    77        compatibilite="[3.0.0;3.0.*]"
  • _plugins_/gis/trunk/prive/objets/contenu/gis.html

    r53872 r81048  
    88        <div class="champ contenu_region[(#REGION|non)vide]">
    99                #REGION
     10        </div>
     11        <div class="champ contenu_departement[(#DEPARTEMENT|non)vide]">
     12                #DEPARTEMENT
    1013        </div>
    1114        <div class="champ contenu_code_postal[(#CODE_POSTAL|non)vide]">
  • _plugins_/gis/trunk/saisies/carte.html

    r78978 r81048  
    5050                champ_ville = $('#champ_#ENV{champ_ville,ville}'),
    5151                champ_region = $('#champ_#ENV{champ_region,region}'),
     52                champ_departement = $('#champ_#ENV{champ_departement,departement}'),
    5253                champ_pays = $('#champ_#ENV{champ_pays,pays}'),
    5354                champ_code_pays = $('#champ_#ENV{champ_code_pays,code_pays}'),
     
    9394                        $('#champ_#ENV{champ_code_postal,code_postal}').val(query.postcode);
    9495                        $('#champ_#ENV{champ_ville,ville}').val(query.locality);
    95                         $('#champ_#ENV{champ_region,region}').val(query.region);
     96                        $('#champ_#ENV{champ_region,region}').val(query.region);
     97                        $('#champ_#ENV{champ_departement,departement}').val(query.departement);
    9698                        $('#champ_#ENV{champ_pays,pays}').val(query.country);
    9799                        $('#champ_#ENV{champ_code_pays,code_pays}').val(query.country_code);
Note: See TracChangeset for help on using the changeset viewer.