मैं जियोसर्वर के साथ एक शामिल डेटासेट को ओपनलाइयर मैप में जोड़ने का प्रयास कर रहा हूं। मैंने 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, Namespace URI = http://medford.opengeo.org फीचर प्रकार के लिए मैंने "पार्क" और "मेडफोर्ड: पार्क" की कोशिश की है
परत सक्षम, विज्ञापित है और इसमें 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
})
लेयर की परिभाषा में ज्योमेट्री नाम निर्दिष्ट करने की आवश्यकता नहीं है। चूंकि मूल निवासी SRS हमारे डेटासेट में अशक्त था, अगर हम ज्यामितिनाम रखते हैं तो यह डिफ़ॉल्ट रूप से लेता है, लेकिन इसके बिना, यह मानचित्र प्रक्षेपण (हमारे मामले में 27700-) का उपयोग करता है।