1

我的目标:使用 Openlayers + geoserver + POSTGIS,

  1. 显示谷歌地图。
  2. 在浏览器中从地理服务器向用户显示图层,
  3. 允许用户编辑图层的功能,
  4. 将最终用户新添加的特征持久化到 POSTGIS 数据库中

我的状态 :

  1. 我可以显示谷歌地图。
  2. 使用 postgis shapefile 导入/导出管理器将 SHAPEFILES(.shp) 加载到 POSTGIS DB
  3. 在 GEOSERVER ADMIN CONSOLE 中添加了一个工作区。
  4. 在 GEOSERVER ADMIN CONSOLE 中添加了一个 DATASOURCE。

我的问题 :

  1. 无法在浏览器中显示图层。
  2. 无法在 EDIT LAYER SCREEN 的“Feature Type Details”下找到 TYPE GEOMETRY。

参考文献

简单 HTML 页面中的 WFS 代码:

var wfs = new OpenLayers.Layer.Vector("USACITIES",
{
    strategies: [new OpenLayers.Strategy.Fixed()],
    projection: new OpenLayers.Projection("EPSG:4326"),
    protocol: new OpenLayers.Protocol.WFS({
        version: "1.1.0",
        url: "http://localhost:8080/geoserver/wfs",
        featurePrefix: 'usa', //geoserver worspace name
        featureType: "usa:states", //geoserver Layer Name
        featureNS: "http://usa.opengeo.org", // Edit Workspace Namespace URI
        geometryName: "the_geom" // field in Feature Type details with type "Geometry"
    })
});
map.addLayer(wfs);
4

1 回答 1

0

我认为您的代码中有一个错误:

featureType: "usa:states", //geoserver Layer Name

我认为这应该是

featureType: "states", //geoserver Layer Name

因为前缀已经用 featureNS 定义了

至于 Geoserver 中的“特征类型详细信息”:检查 Postgres 如果您的表有“the_geom”或“geom”列并且它的类型是几何。

于 2013-01-15T09:16:23.397 回答