我的目标:使用Openlayers + geoserver + POSTGIS,
- 显示谷歌地图
- 在浏览器中显示从geoserver到用户的层,
- 允许用户编辑图层的特征,
- 将最终用户新添加的特性持久化到POSTGIS数据库
我的状态:
- 我可以显示谷歌地图。
- 使用POSTGIS shapefile导入/导出管理器加载SHAPEFILES(.shp)到POSTGIS数据库 在GEOSERVER管理控制台中添加了一个工作区。
- 在GEOSERVER管理控制台中增加了一个数据源。
MyProblem:
- 无法在浏览器中显示该图层。
- 无法在编辑层屏幕的"特征类型详细信息"下找到类型几何。
引用:
简单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);
我认为你的代码有错误:
featureType: "usa:states", //geoserver Layer Name
我认为这应该是
featureType: "states", //geoserver Layer Name
因为前缀已经用featureNS
定义了对于Geoserver中的"Feature Type Details":检查在Postgres如果你的表有"the_geom"或"geom"列,如果它的类型是几何。