Buenos Días!
Tengo algunos problemas de visualización de una capa WFS con OpenLayers y espero que alguien aquí me puede dar una pista. Antes de seguir, me precisa que ya he comprobado otros puestos, como aquí y aquí , pero, por alguna razón, no ha resuelto mi problema todavía (y por cierto, gracias a los colaboradores a los puestos, que me hizo entender un poco mejor ya)... La capa WFS aparece en la capa de switcher, pero no a todos en el mapa.
Así que, aquí está la configuración de mis datos:
- Área de trabajo: luma_project (este es el espacio de trabajo por defecto)
- Área de trabajo URI: http://localhost:8080/luma
- URL de la CMA: http://localhost:8080/geoserver/wfs
- Nombre de capa: adresspt
- Srs: 4326
y aquí está mi OpenLayers código:
var adresspt_wfs = new OpenLayers.Layer.Vector("Adress points WFS", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
url: "http://localhost:8080/geoserver/wfs",
featurePrefix:"luma_project",
featureType: "adresspt",
featureNS: "http://localhost:8080/luma",
srsName: "EPSG:4326",
geometryName: "the_geom",
version: "1.0.0"
})
});
map.addLayer(adresspt_wfs);
¿Ves algo que falta aquí? Como mis datos se almacenan en un (local) de la base de datos PostGIS, debería referirse a ella como área de trabajo:tienda:capa? o área de trabajo:capa?
También, me precisa que no tengo problemas para visualizar esta capa WMS en OpenLayers y que incluso se puede mostrar como WFS en Quantum GIS. El problema por lo tanto no proviene de los datos o la Geoserver, pero realmente desde mi OpenLayers código.
Cualquier ayuda será muy apreciada!
Muchas gracias de antemano,
Stéphane
EDITAR:
Aquí está el código completo:
var map;
function init() {
var bounds = new OpenLayers.Bounds(
13, 55.67, 13.5, 55.8
);
var options = {
projection: new OpenLayers.Projection("EPSG:4326"),
displayProjection: new OpenLayers.Projection("EPSG:4326"),
maxExtent: bounds,
units: 'degrees'
};
map = new OpenLayers.Map('map');
var transportation = new OpenLayers.Layer.WMS(
"Lund transportation network", "http://localhost:8080/geoserver/wms",
{ layers: 'lu_transportation',
format: 'image/png',
srs:'EPSG:4326',
transparent:'true',
zoomOffset: 11,
},
{isBaseLayer: true, opacity: 0.4});
var adresspt_wfs = new OpenLayers.Layer.Vector("Adress points WFS", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
url: "http://localhost:8080/geoserver/wfs",
//featurePrefix:"luma_project",
featureType: "luma_project:adresspt",
featureNS: "http://localhost:8080/luma",
srsName: "EPSG:4326",
geometryName: "the_geom",
version: "1.0.0"
})
});
map.addLayer(transportation);
map.addLayer(adresspt_wfs);
map.addControl(new OpenLayers.Control.Navigation());
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.Scale($('scale')));
map.addControl(new OpenLayers.Control.MousePosition({element: $('location')}));
map.zoomToExtent(bounds);
}
Y, a continuación, el código html:
<body onload="init()">
<div id="wrapper">
Coordinates of the mouse: <div id="location">...</div>
<br>
<div id="scale"></div>
</div>
<div id="map"></div>
</body>
EDITAR (2)
Solo para probar, he añadido otra capa WFS, desde un servidor remoto, y todavía no muestra nada... me tomé el código exacto de esta página, la cual es:
var test_wfs = new OpenLayers.Layer.Vector("WFS", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
url: "http://demo.opengeo.org/geoserver/wfs",
featureType: "tasmania_roads",
featureNS: "http://www.openplans.org/topp"
})
});
Realmente no entiendo... esta capa muestra perfectamente en esta página, pero no en la mía... con el mismo código...