Estoy tratando de agregar uno de los conjuntos de datos incluidos con GeoServer a un mapa OpenLayers. He seguido los tutoriales de OpenGeo, he visto un hilo similar aquí, pero parece que no puedo descifrarlo. ¿Alguien puede echar un vistazo a mi código y la configuración de GeoServer y decirme dónde me estoy equivocando?
Aquí está mi código:
//WMS map
world = new OpenLayers.Layer.WMS("Global Imagery", "http://maps.opengeo.org/geowebcache/service/wms", {
layers : "openstreetmap",
format : "image/png"
});
map.addLayer(world);
//WFS
parks = new OpenLayers.Layer.Vector("WFS", {
strategies : [new OpenLayers.Strategy.BBOX()],
protocol : new OpenLayers.Protocol.WFS({
url : "http://localhost:8081/geoserver/wfs",
featureType : "medford:parks",
featureNS : "http://medford.opengeo.org/medford"
})
});
map.addLayer(parks);
map.zoomToMaxExtent();
Detalles del GeoServer: nombre del espacio de trabajo = medford, URI del espacio de nombres = http://medford.opengeo.org Para el tipo de característica he intentado "parques" y "medford: parques"
La capa está habilitada, anunciada y tiene un límite de retorno de 30 funciones.
Estoy luchando por armar un mapa simple.
Solución actualizada Trabajando ahora.
wfs = new OpenLayers.Layer.Vector("Fields_WFS", {
strategies : [new OpenLayers.Strategy.Fixed()],
protocol : new OpenLayers.Protocol.WFS({
version : "1.1.0",
url : GEOSERVER_HOST + ":" + GEOSERVER_PORT + "/geoserver/wfs",
featurePrefix : "rpid",
featureType : "FIELDS_SUBSET_BNG_OSGB36_1",
featureNS : "<namespace>",
//geometryName : "GEOM", type "Geometry"
srsName : "EPSG:27700"
}),
renderers : renderer
})
No necesita especificar el nombre de geometría en la definición de capa. Dado que el SRS nativo era nulo en nuestro conjunto de datos, si mantenemos geometryName de lo que toma por defecto, pero sin él, utiliza la proyección del mapa (27700- en nuestro caso).