Browse Source

Change vector layer visibility and get bounds from xml

Marek Strzała 11 years ago
parent
commit
78d391f1b2
2 changed files with 48 additions and 2 deletions
  1. 20 0
      SE/se-lib/TableAjaxMap.php
  2. 28 2
      SE/superedit-OPEN_LAYERS_WPS.php

+ 20 - 0
SE/se-lib/TableAjaxMap.php

@@ -1063,6 +1063,26 @@ class TableAjaxMapWpsServer {
   </wfs:Query>
 </wfs:GetFeature>
 			 */
+			
+			$corners = $xml->children("wfs", TRUE)->Query->children("ogc", TRUE)->Filter->BBOX->children("gml", TRUE)->Envelope;
+
+			if ($corners) {
+				$lowerCorner = (string) $corners->lowerCorner;	
+				$upperCorner = (string) $corners->upperCorner;
+				$lowerCornerArray = explode(" ", $lowerCorner);
+				$upperCornerArray = explode(" ", $upperCorner);
+				if(count($lowerCornerArray) == 2 && count($upperCornerArray) == 2) {
+					$lowerCornerDouble = (double) $lowerCornerArray[0];
+					$upperCornerDouble = (double) $upperCornerArray[1];
+						if(($lowerCorner == (string) $lowerCornerDouble) && ($upperCorner == (string) $upperCornerDouble)) {
+							$data[lowerCorner] = $lowerCorner;
+							$data[upperCorner] = $upperCorner;
+						}
+				}
+			} else {
+				// inna struktura xml'a
+			}
+
 			$this->_wfsAction->execute($data);
 		}
 		else if (isset($xml->children('ows', TRUE)->Identifier)) {

+ 28 - 2
SE/superedit-OPEN_LAYERS_WPS.php

@@ -421,9 +421,35 @@ SQL;
 					new OpenLayers.Control.ScaleLine(),
 					new OpenLayers.Control.KeyboardDefaults()
 				//	new OpenLayers.Control.MousePosition()				
-				], layers: [gphy,_layer]
+				], layers: [gphy]
 			});
-						
+		//	map.addLayer(_layer);
+		
+			map.events.register("zoomend", this, function(e) {
+				var zoom = map.getZoom();
+				console.log("Zoom = "  + zoom);
+
+				if (zoom >= 11 && zoom <= 12) {
+					map.addLayer(_layer);
+				} else if (zoom == 11){
+					var myLayer = map.getLayersByName('Warstwa rysowania');
+					myLayer[0].destroy();
+
+				//	_layer.destroy();					
+				//	map.removeLayer(_layer, false);	
+				//	console.log("costam: "+ map.getLayer());
+				//	map.addLayer(_layer);	
+				_layer.setVisibility(false);
+				
+				//	map.addLayer(_layer);
+				
+				//	map.removeLayer(_layer, false);
+					
+				//	map.refresh();
+				}
+			});   
+
+			
 			map.zoomToMaxExtent();
 
 			};