Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

State Of The Map 2024

#1 Mon 06 July 2009 09:39

BBarthur
Participant actif
Date d'inscription: 17 Jun 2009
Messages: 57

[MapFish/PostGIS] Utiliser le recenter avec deux tables

Bonjour

J'aimerais utiliser le recenter de MapFish pour permettre un recentrage sur des adresses. Pour cela, j'ai une table 'adresses' (points) avec l'id de la rue, mais pas son nom. J'ai une autre table 'rues' avec l'id de la rue et son nom.

Le problème, c'est que je ne sais pas comment utiliser le recenter avec deux tables en même temps. J'ai testé avec une autre couche pour laquelle une seule table était nécessaire, et cela fonctionne très bien.

Quelqu'un sait comment faire ce genre de chose ?

Hors ligne

 

#2 Mon 06 July 2009 10:28

Sitelle
Participant occasionnel
Date d'inscription: 1 Feb 2009
Messages: 31

Re: [MapFish/PostGIS] Utiliser le recenter avec deux tables

Bonjour,

Comment utilises-tu le recenter ?
Pour ma part, pour réaliser ce que tu souhaites faire je créerai un fichier PHP avec une requête récupérant les champs voulu des 2 bases et les restituant sous forme de tableau PHP puis traduit en Javascript (le script de traduction se trouve facilement sur Internet). Ce tableau pourra ensuite être exploité par le store du module recenter.

Je ne sais pas si tu auras suivi mon idée ?

Estelle

Hors ligne

 

#3 Mon 06 July 2009 10:58

BBarthur
Participant actif
Date d'inscription: 17 Jun 2009
Messages: 57

Re: [MapFish/PostGIS] Utiliser le recenter avec deux tables

Bonjour

J'utilise le recenter de la manière la plus basique qui soit (je pense):

Dans le west:

Code:

xtype: 'datafieldrecenter',
title: 'Localisation',
url: "/titi",
map: map,
fieldLabel: "Lieu",
displayField: "nom",
border: false

Et titi fait référence à une couche définie dans layers.ini

Maintenant, j'ai du mal à comprendre ton idée. Le truc du fichier PHP, je vois comment faire, et la traduction javascript ça doit être faisable aussi, mais dès qu'on touche au store du module recenter, là je ne suis plus... (désolé, niveau js lamentable).

Moi qui m'imaginais n'avoir qu'à modifier quelques paramètres... gloubs :s

Avec tout ça j'en viens à me demander s'il ne serait pas plus simple de combiner mes deux tables en une seule, du coup je pourrais utiliser le recenter avec la méthode décrite ci-dessus.

Hors ligne

 

#4 Mon 06 July 2009 11:46

Sitelle
Participant occasionnel
Date d'inscription: 1 Feb 2009
Messages: 31

Re: [MapFish/PostGIS] Utiliser le recenter avec deux tables

Oh oh en fait je m'aperçois que je suis en train de te mener sur une mauvaise piste. En fait j'avais déjà fait ce genre de chose mais je ne passe pas par recenter (ce que je croyais au début).

En fait moi pour zoomer sur une zone j'utilise un combobox et l'extent de la zone.
Les données exploitées sont dans Postgis et j'ai un fichier PHP qui récupère les valeurs désirées et crée un tableau avec ces valeurs dans une variable.
Dans le code ci-dessous cette variable c'est lstZone (4ème ligne). Et on peut voir que cette variable tableau possède 3 champs : nom, id et bbox.

Dans

Code:

//Création du store zone etude
        var storeZone = new Ext.data.SimpleStore({
            fields: ['nom', 'id', 'bbox'],
            data : lstZone
        });
            
        //Création du combobox zone etude
        var comboZone = new Ext.form.ComboBox({
            fieldLabel:'Selectionner une zone'
            ,store: storeZone
            ,mode:'local'
            ,editable:true
            //,forceSelection:true
            ,valueField:'bbox'
            ,displayField:'nom'
            ,listWidth  : 200            
        });                    
        //Evénèment de sélection de la zone etude
        function onSelectZone(item) {
            map.zoomToExtent(item.getValue());
            //alert (Ext.get('ext-comp-1005').getValue());
            alert (item.getRawValue());
            }

        //déclaration de l'event select du combobox zone etude
        comboZone.addListener('select', onSelectZone,this);

Cependant on n'utilise plus ici le widget recenter, désolé :-)

Dernière modification par Sitelle (Mon 06 July 2009 11:47)

Hors ligne

 

#5 Mon 06 July 2009 14:43

BBarthur
Participant actif
Date d'inscription: 17 Jun 2009
Messages: 57

Re: [MapFish/PostGIS] Utiliser le recenter avec deux tables

Bon, merci tout de même wink

Finalement, j'ai modifié une de mes tables en y ajoutant un nouveau champ, de telle sorte à n'avoir plus qu'une seule table à utiliser pour le widget recenter. Cela fonctionne pas trop mal pour l'instant, on verra comment j'arrive à customizer tout ça.

Hors ligne

 

Pied de page des forums

Powered by FluxBB