#1 Tue 02 August 2011 09:15
Ajouter un style sur couche WFS
Bonjour,
Sur l'appli sur laquelle je travaille, je dois créer à un moment une couche WFS (affichage de points filtré sur un identifiant). Jusque là pas de soucis, ma couche s'affiche très bien, mais dès que je veux lui appliquer un style pour ne pas avoir mes points en jaune par défaut, soit le style n'est plus pris en compte, soit rien ne se passe.
J'ai épluché quelques tutos, mais aucune des solutions trouvées ne fonctionne.
Mon code :
Code:
/** * COUCHE WFS */ var filtreCommerce = '<Filter xmlns="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml">' + '<PropertyIsEqualTo>' + '<PropertyName>id_commerce</PropertyName>' + '<Literal>' + idCommerce + '</Literal>' + '</PropertyIsEqualTo>' + '</Filter>'; this.newcouche = newcouche = new OpenLayers.Layer.WFS("Dispositifs publicitaires du commerce", baseurlwfs, { typename: 'tlpe-kingersheim:vue_dispositifs_publicitaires' }, { styleMap : stlMapCommerce, extractAttributes: true, isbaselayer: false, displayInLayerSwitcher: false, visibility: true } ); var stlMapCommerce = new OpenLayers.StyleMap({ "default": stlCommerce, "select" : stlCommerce, "temporary" : stlCommerce }); var stlCommerce = new OpenLayers.Style({ fillColor: "#D24D00" /* strokeColor: "#E61F00", strokeWidth: 2, fillOpacity: 0.4*/ }); this.newcouche.mergeNewParams({ Filter : filtreCommerce });
Language : framework Javascript Qooxdoo
Merci d'avance
Hors ligne
#2 Wed 03 August 2011 08:27
- Delu
- Participant actif
- Lieu: Briançon
- Date d'inscription: 29 Apr 2008
- Messages: 76
Re: Ajouter un style sur couche WFS
Et si tu inverses tes déclarations ?
1 - var stlCommerce = ...
2 - var stlMapCommerce = ...
3 - this.newcouche = ...
sinon, voici un syleMap qui fonctionne :
Code:
var styleMap = new OpenLayers.StyleMap({ 'default': { fillColor: "red" ,strokeColor: "red" ,cursor: "pointer" ,fillOpacity: 0 ,strokeOpacity: 0 ,strokeWidth: 3 ,pointRadius: 8 } ,select : { fillColor: "blue" ,strokeColor: "blue" ,cursor: "pointer" ,fillOpacity: 0.5 ,strokeOpacity: 1 ,strokeWidth: 2 ,graphicName: 'circle' ,pointRadius: 8 } });
IL est ensuite utilisé dans la new OpenLayers.Layer.Vector....
Hors ligne