summaryrefslogtreecommitdiff
path: root/misc/openlayers/examples/wfs-snap-split.html
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/examples/wfs-snap-split.html')
-rw-r--r--misc/openlayers/examples/wfs-snap-split.html292
1 files changed, 0 insertions, 292 deletions
diff --git a/misc/openlayers/examples/wfs-snap-split.html b/misc/openlayers/examples/wfs-snap-split.html
deleted file mode 100644
index 0b71da0..0000000
--- a/misc/openlayers/examples/wfs-snap-split.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
- <meta name="apple-mobile-web-app-capable" content="yes">
- <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
- <link rel="stylesheet" href="style.css" type="text/css">
- <script src="../lib/OpenLayers.js"></script>
- <!--[if lte IE 6]>
- <style>
- .customEditingToolbar {
- width: 200px;
- }
- </style>
- <![endif]-->
- <style>
- .customEditingToolbar {
- float: right;
- right: 0px;
- height: 30px;
- }
- .customEditingToolbar div {
- float: right;
- margin: 5px;
- width: 24px;
- height: 24px;
- }
- .olControlNavigationItemActive {
- background-image: url("../theme/default/img/editing_tool_bar.png");
- background-repeat: no-repeat;
- background-position: -103px -23px;
- }
- .olControlNavigationItemInactive {
- background-image: url("../theme/default/img/editing_tool_bar.png");
- background-repeat: no-repeat;
- background-position: -103px -0px;
- }
- .olControlDrawFeaturePointItemInactive {
- background-image: url("../theme/default/img/editing_tool_bar.png");
- background-repeat: no-repeat;
- background-position: -77px 0px;
- }
- .olControlDrawFeaturePointItemActive {
- background-image: url("../theme/default/img/editing_tool_bar.png");
- background-repeat: no-repeat;
- background-position: -77px -23px ;
- }
- .olControlModifyFeatureItemActive {
- background-image: url(../theme/default/img/move_feature_on.png);
- background-repeat: no-repeat;
- background-position: 0px 1px;
- }
- .olControlModifyFeatureItemInactive {
- background-image: url(../theme/default/img/move_feature_off.png);
- background-repeat: no-repeat;
- background-position: 0px 1px;
- }
- .olControlDeleteFeatureItemActive {
- background-image: url(../theme/default/img/remove_point_on.png);
- background-repeat: no-repeat;
- background-position: 0px 1px;
- }
- .olControlDeleteFeatureItemInactive {
- background-image: url(../theme/default/img/remove_point_off.png);
- background-repeat: no-repeat;
- background-position: 0px 1px;
- }
- </style>
- <script type="text/javascript">
- var map, wfs;
-
- var DeleteFeature = OpenLayers.Class(OpenLayers.Control, {
- initialize: function(layer, options) {
- OpenLayers.Control.prototype.initialize.apply(this, [options]);
- this.layer = layer;
- this.handler = new OpenLayers.Handler.Feature(
- this, layer, {click: this.clickFeature}
- );
- },
- clickFeature: function(feature) {
- // if feature doesn't have a fid, destroy it
- if(feature.fid == undefined) {
- this.layer.destroyFeatures([feature]);
- } else {
- feature.state = OpenLayers.State.DELETE;
- this.layer.events.triggerEvent("afterfeaturemodified",
- {feature: feature});
- feature.renderIntent = "select";
- this.layer.drawFeature(feature);
- }
- },
- setMap: function(map) {
- this.handler.setMap(map);
- OpenLayers.Control.prototype.setMap.apply(this, arguments);
- },
- CLASS_NAME: "OpenLayers.Control.DeleteFeature"
- });
-
- function init() {
- OpenLayers.ProxyHost = "proxy.cgi?url=";
- map = new OpenLayers.Map({
- div: "map",
- maxResolution: 156543.0339,
- maxExtent: new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508),
- restrictedExtent: new OpenLayers.Bounds(
- -11563906, 5540550, -11559015, 5542996
- ),
- projection: new OpenLayers.Projection("EPSG:900913"),
- units: "m",
- controls: [
- new OpenLayers.Control.PanZoom(),
- new OpenLayers.Control.Navigation()
- ]
- });
-
- var osm = new OpenLayers.Layer.OSM();
- var styles = new OpenLayers.StyleMap({
- "default": new OpenLayers.Style(null, {
- rules: [
- new OpenLayers.Rule({
- symbolizer: {
- "Point": {
- pointRadius: 5,
- graphicName: "square",
- fillColor: "white",
- fillOpacity: 0.25,
- strokeWidth: 1,
- strokeOpacity: 1,
- strokeColor: "#333333"
- },
- "Line": {
- strokeWidth: 3,
- strokeOpacity: 1,
- strokeColor: "#666666"
- }
- }
- })
- ]
- }),
- "select": new OpenLayers.Style({
- strokeColor: "#00ccff",
- strokeWidth: 4
- }),
- "temporary": new OpenLayers.Style(null, {
- rules: [
- new OpenLayers.Rule({
- symbolizer: {
- "Point": {
- pointRadius: 5,
- graphicName: "square",
- fillColor: "white",
- fillOpacity: 0.25,
- strokeWidth: 1,
- strokeOpacity: 1,
- strokeColor: "#333333"
- },
- "Line": {
- strokeWidth: 3,
- strokeOpacity: 1,
- strokeColor: "#00ccff"
- }
- }
- })
- ]
- })
- });
-
- var saveStrategy = new OpenLayers.Strategy.Save();
- wfs = new OpenLayers.Layer.Vector("Editable Features", {
- strategies: [new OpenLayers.Strategy.BBOX(), saveStrategy],
- projection: new OpenLayers.Projection("EPSG:4326"),
- styleMap: styles,
- protocol: new OpenLayers.Protocol.WFS({
- version: "1.1.0",
- srsName: "EPSG:4326",
- url: "http://demo.opengeo.org/geoserver/wfs",
- featureNS : "http://opengeo.org",
- featureType: "roads",
- geometryName: "the_geom",
- schema: "http://demo.opengeo.org/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=og:roads"
- })
- });
-
- map.addLayers([osm, wfs]);
-
- // configure the snapping agent
- var snap = new OpenLayers.Control.Snapping({layer: wfs});
- map.addControl(snap);
- snap.activate();
-
- // configure split agent
- var split = new OpenLayers.Control.Split({
- layer: wfs,
- source: wfs,
- tolerance: 0.0001,
- deferDelete: true,
- eventListeners: {
- aftersplit: function(event) {
- var msg = "Split resulted in " + event.features.length + " features.";
- flashFeatures(event.features);
- }
- }
- });
- map.addControl(split);
- split.activate();
-
- // add some editing tools to a panel
- var panel = new OpenLayers.Control.Panel({
- displayClass: 'customEditingToolbar',
- allowDepress: true
- });
- var draw = new OpenLayers.Control.DrawFeature(
- wfs, OpenLayers.Handler.Path,
- {
- title: "Draw Feature",
- displayClass: "olControlDrawFeaturePoint",
- handlerOptions: {multi: true}
- }
- );
- modify = new OpenLayers.Control.ModifyFeature(
- wfs, {displayClass: "olControlModifyFeature"}
- );
- var del = new DeleteFeature(wfs, {title: "Delete Feature"});
-
- var save = new OpenLayers.Control.Button({
- title: "Save Changes",
- trigger: function() {
- if(modify.feature) {
- modify.selectControl.unselectAll();
- }
- saveStrategy.save();
- },
- displayClass: "olControlSaveFeatures"
- });
-
-
-
- panel.addControls([
- save, del, modify, draw
- ]);
-
- map.addControl(panel);
- map.setCenter(new OpenLayers.LonLat(-11561460.5, 5541773), 15);
- }
-
- function flashFeatures(features, index) {
- if(!index) {
- index = 0;
- }
- var current = features[index];
- if(current && current.layer === wfs) {
- wfs.drawFeature(features[index], "select");
- }
- var prev = features[index-1];
- if(prev && prev.layer === wfs) {
- wfs.drawFeature(prev, "default");
- }
- ++index;
- if(index <= features.length) {
- window.setTimeout(function() {flashFeatures(features, index)}, 100);
- }
- }
-
- </script>
- </head>
- <body onload="init()">
-
- <h1 id="title">Snap/Split and Persist via WFS</h1>
-
- <div id="tags">
- snapping, splitting, wfs, wfst, wfs-t, advanced
- </div>
- <p id="shortdesc">
- Shows snapping, splitting, and use of the WFS Transactions (WFS-T).
- </p>
-
- <div id="map" class="smallmap"></div>
-
- <div id="docs">
- <p>The WFS protocol allows for creation of new features and reading,
- updating, or deleting of existing features.</p>
- <p>Use the tools to create, modify, and delete (in order from left
- to right) features. Use the save tool (picture of a disk) to
- save your changes.</p>
- <p>To deactivate "drawing" or "modifying" depress the corresponding
- button.</p>
- </div>
-
-</body>
-</html>
-
-