#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
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