GeoServer에 포함 된 데이터 세트 중 하나를 OpenLayers 맵에 추가하려고합니다. OpenGeo 튜토리얼을 따라 왔으며 여기에서 비슷한 스레드를 보았지만 금이 갈 수는 없습니다. 누군가 내 코드와 GeoServer 설정을 한눈에보고 어디에서 잘못 가고 있는지 말해 줄 수 있습니까?
내 코드는 다음과 같습니다.
//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();
GeoServer 세부 정보 : 작업 공간 이름 = medford, 네임 스페이스 URI = http://medford.opengeo.org 기능 유형에 대해 "parks"및 "medford : parks"를 시도했습니다.
레이어가 활성화되고 보급되었으며 30 개의 기능 반환 제한이 있습니다.
간단한지도를 작성하는 데 어려움을 겪고 있습니다.
업데이트 된 솔루션. 지금 일하고 있습니다.
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
})
레이어 정의에서 형상 이름을 지정할 필요가 없습니다. 데이터 세트에서 Native SRS가 null이기 때문에 geometryName을 기본값보다 유지하지만 기본값이 없으면 map projection (이 경우 27700)을 사용합니다.