2
votes

I'm trying to add one of the included datasets with geoserver to an openlayers map. I've followed the opengeo tutorials, seen similar thread on here, but I can't seem to crack it. Can somebody take a glance at my code and geoserver setup and tell me where i'm going wrong?

Here's my code:

            //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 details: workspace name = medford, Namespace URI = http://medford.opengeo.org For the feature type I have tried "parks" and "medford:parks"

The layer is enabled, advertised and has a 30 feature return limit.

I'm struggling to put a simple map together

Thanks, James

1

1 Answers

3
votes

Firstly could you give some more info about any errors that are occuring by using a debugging tool like firebug. my first guess would be that the geoserver instance is not running on the same domain (this includes a different port on the same domain) and requests to the server are being blocked by the cross-site scripting restrictions.

If this is the case OpenLayers comes with some example CGI proxy scripts to allow you to proxy the call to geoserver. have a look here for more info.

hope that helps, if not maybe post some more info relating to any errors you see.