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:
+68
-58
@@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user