#1 Mon 20 October 2008 18:55
- Lionel B
- Participant actif
- Lieu: Macon
- Date d'inscription: 5 Sep 2005
- Messages: 83
[Openlayers] passage de paramètre à un serveur WMS
Bonjour,
J'essaie de mettre en place un petit cas d'école :
- J'affiche la carte des départements dans OL.
- J'affiche une liste déroulante des départements.
- J'affiche une deuxième carte avec un seul département (par passage de paramètre au serveur WMS, qui intègre cette valeur dans une requête postgis sur ma table des départements).
Code:
layerdepsel = new OpenLayers.Layer.WMS.Untiled( "dep selection", "http://localhost/cgi-bin/wmsform", {layers: 'depsel', format: 'png',DEPSEL: depsel}, {'isBaseLayer': false, opacity: '1', transitionEffect: 'resize'} );
J'aimerai faire en sorte qu'une fois le département choisi dans la liste, la couche s'actualise automatiquement.
Je récupère donc le résultat du formulaire et je réaffecte la variable qui est passée en paramètre au serveur WMS.
Et là j'ai essayé 2 pistes :
- desctruction du layer qui contient l'appel WMS paramétré et reconstruction de celui-ci : c'est brutal, mais ca fonctionne.
- redraw du layer après un mergeNewParms : et la il ne se passe rien. Ou plus exactement, le Layer est bien redessiné, l'appel est bien passé, mais le paramètre n'a pas été modifié lors du nouveau chargement. (y compris en ajoutant ce qui est recommandé ici : http://openlayers.org/pipermail/users/2 … 00064.html )
En bref, j'ai l'impression que le paramètre que je passe au serveur WMS n'est lu que lors de la déclaration/création du Layer, mais que ses options ne sont pas réactualisées lors d'un mergeNewParams/redraw.
Bon, je ne suis pas malheureux, parceque la première méthode fonctionne, mais je ne la trouve pas très académique et j'aimerai bien arriver à quelque chose de plus propre.
Quelqu'un a-t-il déjà été confronté à ce problème ?
Merci
Hors ligne