Saya mencoba menambahkan salah satu dataset yang disertakan dengan GeoServer ke peta OpenLayers. Saya telah mengikuti tutorial OpenGeo, melihat utas serupa di sini, tapi sepertinya saya tidak bisa memecahkannya. Dapatkah seseorang melihat kode saya dan pengaturan GeoServer dan memberi tahu saya di mana saya salah?
Ini kode saya:
//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();
Detail GeoServer: workspace name = medford, Namespace URI = http://medford.opengeo.org Untuk tipe fitur saya telah mencoba "taman" dan "medford: taman"
Lapisan diaktifkan, diiklankan dan memiliki batas pengembalian fitur 30.
Saya berjuang untuk menyatukan peta sederhana.
Solusi Terbaru. Sedang bekerja sekarang
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
})
Tidak perlu menentukan Nama geometri dalam definisi Layer. Karena Native SRS adalah null dalam dataset kami, jika kami menjaga geometriName daripada yang diperlukan, tetapi tanpa itu, ia menggunakan proyeksi peta (27700- dalam kasus kami).