瀏覽代碼

Merge branch 'feature-wfs-t' of biuro.biall-net.pl:plabudda/se into feature-wfs-t

Piotr Labudda 11 年之前
父節點
當前提交
dafc6dd9bd
共有 1 個文件被更改,包括 119 次插入14 次删除
  1. 119 14
      SE/superedit-OPEN_LAYERS_WPS.php

+ 119 - 14
SE/superedit-OPEN_LAYERS_WPS.php

@@ -127,14 +127,20 @@ function OPEN_LAYERS_WPS() {
 
 	?>
     <link rel="stylesheet" href="stuff/open-layers/theme/default/style.css" type="text/css">
-    <link rel="stylesheet" href="stuff/open-layers/style.css" type="text/css">
+	<link rel="stylesheet" href="stuff/open-layers/style.css" type="text/css">
     <style type="text/css">
-        .olControlEditingToolbar .olControlModifyFeatureItemInactive {
-            background-image: url(stuff/open-layers/theme/default/img/draw_point_off.png);
-        }
-        .olControlEditingToolbar .olControlModifyFeatureItemActive {
-            background-image: url(stuff/open-layers/theme/default/img/draw_point_on.png);
-        }
+         .olControlEditingToolbar .olControlModifyFeatureItemInactive { 
+             background-image: url(stuff/open-layers/theme/default/img/draw_point_off.png); 
+         } 
+         .olControlEditingToolbar .olControlModifyFeatureItemActive { 
+             background-image: url(stuff/open-layers/theme/default/img/draw_point_on.png); 
+         } 
+        .olControlRefresh {
+        	 background-image: url(stuff/open-layers/theme/default/img/save_features_off.png.png);
+         }
+        .olControlZoomToPoly {
+        	 background-image: url(stuff/open-layers/theme/default/img/ruler.png);
+         }
         .olControlLayerSwitcher .layersDiv {
             border-radius: 10px 0 0 10px;
             opacity: 0.75;
@@ -193,7 +199,6 @@ function OPEN_LAYERS_WPS() {
 		var _capabilities;
 		var _process;
 		var _layer;
-
 		/*
 		 initialize the plugin.
 		 */
@@ -265,31 +270,131 @@ function OPEN_LAYERS_WPS() {
 
 			var toolbar = new OpenLayers.Control.EditingToolbar(_layer);
 			toolbar.addControls([new OpenLayers.Control.ModifyFeature(_layer, {
-				title: "Select feature"
+				title: "Wybierz",
+				deferDelete: true
 			})]);
-
+			    
 			var extent = new OpenLayers.Bounds(
 				2035059.4410645328, 7200979.560689885, 2113330.958028555, 7279251.0776539035
 			);
 
-			var gphy =  new OpenLayers.Layer.OSM("Mapa");
+			var gphy =  new OpenLayers.Layer.OSM("Mapa", null, {
+		        resolutions: [156543.03390625, 78271.516953125, 39135.7584765625,
+		                      19567.87923828125, 9783.939619140625, 4891.9698095703125,
+		                      2445.9849047851562, 1222.9924523925781, 611.4962261962891,
+		                      305.74811309814453, 152.87405654907226, 76.43702827453613,
+		                      38.218514137268066, 19.109257068634033, 9.554628534317017,
+		                      4.777314267158508, 2.388657133579254, 1.194328566789627,
+		                      0.5971642833948135, 0.25, 0.1, 0.05],
+		        serverResolutions: [156543.03390625, 78271.516953125, 39135.7584765625,
+		                            19567.87923828125, 9783.939619140625,
+		                            4891.9698095703125, 2445.9849047851562,
+		                            1222.9924523925781, 611.4962261962891,
+		                            305.74811309814453, 152.87405654907226,
+		                            76.43702827453613, 38.218514137268066,
+		                            19.109257068634033, 9.554628534317017,
+		                            4.777314267158508, 2.388657133579254,
+		                            1.194328566789627, 0.5971642833948135],
+		        transitionEffect: 'resize'
+		    });
+
+			var selectFeature = new OpenLayers.Control.SelectFeature(_layer);
+
+				var dragFeature = new OpenLayers.Control.DragFeature(_layer);
+				dragFeature.handlers['drag'].stopDown = false; 
+				dragFeature.handlers['drag'].stopUp = false; 
+				dragFeature.handlers['drag'].stopClick = false; 
+				dragFeature.handlers['feature'].stopDown = false; 
+				dragFeature.handlers['feature'].stopUp = false; 
+				dragFeature.handlers['feature'].stopClick = false; 
+			    	
+ 				var btnZoomToPoly = new OpenLayers.Control.Button({
+ 				    displayClass: "olControlZoomToPoly", trigger: 
+ 				    	function() {
+ 				   			var multiPolygon = OpenLayers.Geometry.fromWKT(
+ 			                    "MULTIPOLYGON(((2072016.74395199 7234076.79293037,2072016.74395199 7234115.01144451,2072131.3994944 7234115.01144451,2072131.3994944 7234076.79293037,2072016.74395199 7234076.79293037)))"
+ 			                ).getBounds(); 		
+ 						map.zoomToExtent(multiPolygon);
+	                	}
+ 				});
+ 				toolbar.addControls([btnZoomToPoly]);	
 
+			
+			var btnRefresh = new OpenLayers.Control.Button({
+			    displayClass: "olControlRefresh", trigger: 
+			    	function() {
+						_layer.refresh({force:true});
+			    }
+			});
+			toolbar.addControls([btnRefresh]);					
+				
 			var map = new OpenLayers.Map(_nodeMapId, {
 				projection: new OpenLayers.Projection("EPSG:900913"),
 				displayProjection: new OpenLayers.Projection("EPSG:4326"),
 				restrictedExtent: extent,
 				controls: [
 					toolbar,
+					dragFeature,
+					selectFeature,
+				//	removeFeature,
 					new OpenLayers.Control.ZoomPanel(),
 					new OpenLayers.Control.PanPanel(),
 					new OpenLayers.Control.LayerSwitcher(),
 					new OpenLayers.Control.ScaleLine(),
 					new OpenLayers.Control.KeyboardDefaults()
-				],
-				layers: [gphy,_layer]
+				//	new OpenLayers.Control.MousePosition()				
+				], layers: [gphy,_layer]
 			});
+						
 			map.zoomToMaxExtent();
-		};
+				
+			selectFeature.activate();
+			dragFeature.activate();
+
+			//var removeFeature = new OpenLayers.Control.RemoveFeature(_layer//, 
+            // {onDone: function(feature) {console.log(feature)}
+             // }
+ //     );
+				
+			
+		//	_layer.removeFeatures(_layer.getSelectedFuture());		
+		//	removeFuture.activate();
+
+// 			var draw = new OpenLayers.Control.DrawFeature(
+// 				    _layer, OpenLayers.Handler.Path
+// 				);
+// 				map.addControl(_draw);
+// 				draw.activate();
+
+// 				OpenLayers.Event.observe(document, "keydown", function(evt) {
+// 				    var handled = false;
+// 				    switch (evt.keyCode) {
+// 				        case 90: // z
+// 				            if (evt.metaKey || evt.ctrlKey) {
+// 				                draw.undo();
+// 				                handled = true;
+// 				            }
+// 				            break;
+// 				        case 89: // y
+// 				            if (evt.metaKey || evt.ctrlKey) {
+// 				                draw.redo();
+// 				                handled = true;
+// 				            }
+// 				            break;
+// 				        case 27: // esc
+// 				            draw.cancel();
+// 				            handled = true;
+// 				            break;
+// 				    }
+// 				    if (handled) {
+// 				        OpenLayers.Event.stop(evt);
+// 				    }
+// 				});
+
+			};
+
+	
+		
 
 		// using OpenLayers.Format.WPSCapabilities to read the capabilities
 		priv.getCapabilities = function() {