#1 Fri 06 May 2011 13:43
- khalid_sig
- Participant actif
- Date d'inscription: 7 Apr 2011
- Messages: 52
[openlayer] Problème avec Vector
Bonjour
J'ai un problème à utiliser vector pour sélectionner un polygone et le voir en highlight ... Je ne vois que ma couche (postgis) etat avec comme style default. Rien ne se passe quand je clique sur un polygone.
Merci pour votre aide.
Voici le code:
var map = new OpenLayers.Map('map');
var layer = new OpenLayers.Layer.WMS(
"province",
"http://localhost:8080/geoserver/wms",
{layers: "sf:etat",
format: "image/png"}
,{isBaseLayer: true}
);
map.addLayer(layer);
var vectorlayer = new OpenLayers.Layer.Vector("vector", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
url: "http://localhost:8080/geoserver/wfs",
version: "1.1.0",
featureType: "etat",
featureNS: "sf",
srsName: "EPSG:4326"
}),
styleMap: new OpenLayers.StyleMap({
"default": new OpenLayers.Style({
fillColor: "#ffcc66",
strokeColor: "#ff9933",
strokeWidth: 2
}),
"select": new OpenLayers.Style({
fillColor: "#66ccff",
strokeColor: "#3399ff"
})
})
});
//Controls
map.addLayer(vectorlayer);
map.addControl(new OpenLayers.Control.LayerSwitcher());
var select = new OpenLayers.Control.SelectFeature([vectorlayer]);
map.addControl(select);
select.activate();
Hors ligne
#2 Fri 06 May 2011 15:42
- WWS
- Participant occasionnel
- Date d'inscription: 11 Oct 2010
- Messages: 16
Re: [openlayer] Problème avec Vector
Bonjour,
Est-ce que votre couche WFS s'affiche ?
Si pas, je commencerais par essayer de remplacer "featureNS: "sf"," par "featureNS:"http://localhost:8080/geoserver/sf,"
Sinon, problème de proxy ?
Bonne chance
Dernière modification par WWS (Fri 06 May 2011 15:46)
Hors ligne
#3 Fri 06 May 2011 15:46
- khalid_sig
- Participant actif
- Date d'inscription: 7 Apr 2011
- Messages: 52
Re: [openlayer] Problème avec Vector
Bonjour
Tout d'abord merci pour votre réponse, oui ma couche wfs s'affiche. Pour le proxy, je devrais faire quoi ?
Merci
Hors ligne
#4 Fri 06 May 2011 15:49
- WWS
- Participant occasionnel
- Date d'inscription: 11 Oct 2010
- Messages: 16
Re: [openlayer] Problème avec Vector
Proxy : si la couche s'affiche (en WFS, hein ) ce n'est pas un problème de proxy.
Comme la même couche est appelée en WMS et en WFS, je n'avais pas compris si le problème de base était l'affichage ou simplement la sélection des entités.
Hors ligne
#5 Fri 06 May 2011 15:52
- khalid_sig
- Participant actif
- Date d'inscription: 7 Apr 2011
- Messages: 52
Re: [openlayer] Problème avec Vector
ma 1ère couche ayant le style default s'affiche, mais le vector ne s'affiche pas et quand je le reli à un évenement rien ne se passe. La séléction ne se fait pas ... rien.
euh ... si le wfs veut dire vector, alors il ne s'affiche pas. c'est juste le wms qui s'affiche.
Dernière modification par khalid_sig (Fri 06 May 2011 15:56)
Hors ligne
#6 Fri 06 May 2011 16:00
- WWS
- Participant occasionnel
- Date d'inscription: 11 Oct 2010
- Messages: 16
Re: [openlayer] Problème avec Vector
Essayez de commenter la définition des deux couches, et d'ajouter celle-ci :
var vectorlayer = new OpenLayers.Layer.WFS( "vector",
"http://localhost:8080/geoserver/wfs", {typeName: 'sf:etat'}
);
map.addLayer(vectorlayer);
Si rien ne s'affiche, je vote pour un problème de proxy (on y revient ...).
Dernière modification par WWS (Fri 06 May 2011 16:02)
Hors ligne
#7 Fri 06 May 2011 16:16
- khalid_sig
- Participant actif
- Date d'inscription: 7 Apr 2011
- Messages: 52
Re: [openlayer] Problème avec Vector
ça ne fonctionne pas, firebug ne dit qu'il y a une erreur dans maxExtent, que je les définit ou pas.
Pour var layer = new OpenLayers.Layer.WMS --> fonctionne ( car je lui donne un style default polygon)
Mais var vectorlayer = new OpenLayers.Layer.Vector --> ne fonctionne pas.
Avec firebug je voyais qu'il executait l'url, et dans son response je voyais les informations correcpondante à ma couche, mais rien ne s'affiche.
Dans le fichier proxy.cgi j'ai définit http://localhost:8080/geoserver/wfs.
MErci
Hors ligne
#8 Fri 06 May 2011 16:20
- khalid_sig
- Participant actif
- Date d'inscription: 7 Apr 2011
- Messages: 52
Re: [openlayer] Problème avec Vector
En plus du code que vous m'avez envoyé, j'ai ajouter la définition de ma couche wms, et ça fonctionne.
Donc maintenant je dois faire la fonction du highlight de la séléction.
Merci
Hors ligne
#9 Fri 06 May 2011 16:24
- WWS
- Participant occasionnel
- Date d'inscription: 11 Oct 2010
- Messages: 16
Re: [openlayer] Problème avec Vector
Lorsque j'avais rencontré ce problème (données WFS reçues d'après Firebug, mais pas d'affichage) c'était un problème de featureNS.
Après avoir bien renseigné "l'url de l'espace de nommage" dans les propriétés de l'espace de travail GeoServer et le featureNS dans le Javascript, ça a fonctionné.
Je débute aussi ... donc si ceci ne fonctionne toujours pas, il va falloir faire appel à des membres plus expérimentés
WWS
Hors ligne
#10 Fri 06 May 2011 16:30
- khalid_sig
- Participant actif
- Date d'inscription: 7 Apr 2011
- Messages: 52
Re: [openlayer] Problème avec Vector
juste une question par rapport au namespace, jusque là je travail avec cite ou sf qui sont prédéfinit, car quand je voulais faire le mien, il ne l'acceptais pas.
Pour créer le mien, je spécifie un dossier sur mon pc. est-ce correct ?
Hors ligne
#11 Fri 06 May 2011 16:35
- WWS
- Participant occasionnel
- Date d'inscription: 11 Oct 2010
- Messages: 16
Re: [openlayer] Problème avec Vector
Si nous parlons de l'espace de travail, non, ce n'est pas l'emplacement des données en local qu'il faut définir mais l'url de l'espace de nommage (dans votre cas, probablement http://localhost:8080/geoserver/nom_de_l'espace_de_travail
Hors ligne
#12 Fri 06 May 2011 16:50
- khalid_sig
- Participant actif
- Date d'inscription: 7 Apr 2011
- Messages: 52
Re: [openlayer] Problème avec Vector
ok je vois maintenant. Donc comme j'utilise le sf prédéfinit, je dois écrire dans la définition du vector
localhost:8080/geoserver/data_dir/workspaces/sf
ou l'url qu'ils ont définit dans geoserver http://www.openplans.org/spearfish ?
Hors ligne
#13 Fri 06 May 2011 16:56
- WWS
- Participant occasionnel
- Date d'inscription: 11 Oct 2010
- Messages: 16
Re: [openlayer] Problème avec Vector
J'essaierais de remplacer l'url par "http://localhost:8080/geoserver/sf", aussi bien dans geoserver que dans le script ...
Sans certitude ! Mais pour mon espace de travail AFFTEST, sur ce modèle, ça fonctionne.
Hors ligne
#14 Fri 06 May 2011 17:05
- khalid_sig
- Participant actif
- Date d'inscription: 7 Apr 2011
- Messages: 52
Re: [openlayer] Problème avec Vector
MErci infiniment pour votre aide.
Hors ligne
#15 Sat 07 May 2011 12:34
- khalid_sig
- Participant actif
- Date d'inscription: 7 Apr 2011
- Messages: 52
Re: [openlayer] Problème avec Vector
Retour d'experience: Effectivement le problème était le namespace, je travail avec sf alors il fallait mettre l'url de sf définit dans geoserver. Donc ce qu'il fallait changer dans le premier code c'est featureNS: http://www.openplans.org/spearfish
Bon courage à tous et merci M. WMS
Hors ligne