a horrible, yet apparently working, wfs-t example

git-svn-id: http://svn.openlayers.org/trunk/openlayers@7132 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2008-05-09 23:25:46 +00:00
parent 78edef0699
commit 607ff5d0d8
+68 -58
View File
@@ -1,85 +1,95 @@
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" /> <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" /> <style type="text/css">
#map {
width: 800px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/Firebug/firebug.js"></script>
<script src="../lib/OpenLayers.js"></script> <script src="../lib/OpenLayers.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var map, layer; var map, wfs;
OpenLayers.ProxyHost= "proxy.cgi?url=";
function init(){ function init() {
map = new OpenLayers.Map('map'); map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.WMS( "State", var wms = new OpenLayers.Layer.WMS(
"http://dev.openlayers.org/geoserver/wms", {layers: 'topp:tasmania_state_boundaries'} ); "State",
map.addLayer(layer); "http://sigma.openplans.org/geoserver/wms",
layer = new OpenLayers.Layer.WMS( "Water", {layers: 'topp:tasmania_state_boundaries'}
"http://dev.openlayers.org/geoserver/wms", {layers: 'topp:tasmania_water_bodies', 'transparent': true, format: 'image/gif' } ); );
map.addLayer(layer);
rlayer = new OpenLayers.Layer.WFS( "Roads", wfs = new OpenLayers.Layer.WFS(
"http://dev.openlayers.org/geoserver/wfs", {typename: 'topp:tasmania_roads'}, "Cities",
{ "http://sigma.openplans.org/geoserver/wfs",
typename: 'tasmania_roads', {typename: 'topp:tasmania_cities'},
featureNS: 'http://www.openplans.org/topp', {
extractAttributes: false typename: "tasmania_cities",
} ); featureNS: "http://www.openplans.org/topp",
rlayer.onFeatureInsert=function(feature) { feature.style.strokeColor = "#ff0000"; feature.layer.drawFeature(feature); } extractAttributes: false
map.addLayer(rlayer); }
layer = new OpenLayers.Layer.WFS( "Cities", );
"http://dev.openlayers.org/geoserver/wfs", {typename: 'topp:tasmania_cities'},
{ map.addLayers([wms, wfs]);
typename: 'tasmania_cities',
featureNS: 'http://www.openplans.org/topp', var panel = new OpenLayers.Control.Panel({
extractAttributes: false displayClass: "olControlEditingToolbar"
} ); });
map.addLayer(layer);
map.addControl(new OpenLayers.Control.LayerSwitcher()); var dp = new OpenLayers.Control.DrawFeature(
var p = new OpenLayers.Control.Panel({'displayClass': 'olControlEditingToolbar'}); wfs, OpenLayers.Handler.Point,
{
handlerOptions: {freehand: false},
displayClass: "olControlDrawFeaturePoint"
}
);
df = new OpenLayers.Control.DrawFeature(rlayer, OpenLayers.Handler.Path, {handlerOptions: {'freehand': false}, 'displayClass': 'olControlDrawFeaturePath'});
df.featureAdded = function(feature) {
feature.state = OpenLayers.State.INSERT;
feature.style['strokeColor'] = "#0000ff";
feature.layer.drawFeature(feature);
}
dp = new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Point, {handlerOptions: {'freehand': false}, 'displayClass': 'olControlDrawFeaturePoint'});
dp.featureAdded = function(feature) { dp.featureAdded = function(feature) {
var oldgeom = feature.geometry; var oldgeom = feature.geometry;
feature.layer.renderer.eraseGeometry(oldgeom); feature.layer.renderer.eraseGeometry(oldgeom);
feature.geometry = new OpenLayers.Geometry.MultiPoint(oldgeom); feature.geometry = new OpenLayers.Geometry.MultiPoint(oldgeom);
feature.state = OpenLayers.State.INSERT; feature.state = OpenLayers.State.INSERT;
feature.style['strokeColor'] = "#0000ff"; feature.layer.drawFeature(feature);
feature.layer.drawFeature(feature);
} }
p.addControls([ new OpenLayers.Control.Navigation(), df, dp ]);
map.addControl(p); panel.addControls([
new OpenLayers.Control.Navigation(), dp
]);
map.addControl(panel);
map.zoomToExtent(new OpenLayers.Bounds(145.51045,-44.0,149.0,-40.5)); map.zoomToExtent(new OpenLayers.Bounds(145.51045,-44.0,149.0,-40.5));
} }
</script> </script>
</head> </head>
<body onload="init()"> <body onload="init()">
<h1 id="title">WFS Example</h1> <h1 id="title">WFS Example</h1>
<div id="tags"> <div id="tags">
</div> </div>
<p id="shortdesc"> <p id="shortdesc">
Shows the use of the WFS layer type. Shows the use of the WFS layer type.
</p> </p>
<a href="#" onclick="map.layers[2].commit();return false">Save Roads</a><br /> <a href="#" onclick="OpenLayers.Console.log(wfs.commit());return false">Save Cities</a><br />
<a href="#" onclick="map.layers[3].commit();return false">Save Cities</a><br />
<div id="map" class="smallmap"></div>
<div id="docs"> <div id="map"></div>
This is an example of using a WFS layer type. Note that it requires a
<p id="docs">
This is an example of using a WFS layer type. Note that it requires a
working GeoServer install, which the OpenLayers project does not maintain; working GeoServer install, which the OpenLayers project does not maintain;
however, if you're interested, you should be able to point this against however, if you're interested, you should be able to point this against
a default GeoServer setup without too much trouble. a default GeoServer setup without too much trouble.
</div> </p>
</body> </body>
</html> </html>