使用OpenLayers添加WFS层

时间:2012-01-19 19:24:28

标签: gis openlayers geoserver

我正在尝试将其中一个包含geoserver的数据集添加到openlayers地图中。我已经按照opengeo教程,在这里看到了类似的线程,但我似乎无法破解它。有人可以看一眼我的代码和地理服务器设置并告诉我哪里出错了吗?

这是我的代码:

            //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详情: workspace name = medford,命名空间URI = http://medford.opengeo.org 对于功能类型,我尝试过“公园”和“medford:公园”

图层已启用,公布并具有30个功能返回限制。

我很难将简单的地图放在一起

谢谢, 詹姆斯

1 个答案:

答案 0 :(得分:3)

首先,您可以通过使用像firebug这样的调试工具提供有关任何错误的更多信息。我的第一个猜测是geoserver实例没有在同一个域上运行(这包括同一域上的不同端口),并且跨服务器脚本限制阻止了对服务器的请求。

如果是这种情况,OpenLayers会附带一些示例CGI代理脚本,以允许您代理对geoserver的调用。看看here了解更多信息。

希望有帮助,如果没有,可能会发布一些与您看到的任何错误相关的更多信息。