[Mapbender-commits] r6725 - trunk/mapbender/http/javascripts

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Tue Aug 10 03:56:11 EDT 2010


Author: verenadiewald
Date: 2010-08-10 07:56:11 +0000 (Tue, 10 Aug 2010)
New Revision: 6725

Modified:
   trunk/mapbender/http/javascripts/initWmcObj.php
Log:
zoom and visible

Modified: trunk/mapbender/http/javascripts/initWmcObj.php
===================================================================
--- trunk/mapbender/http/javascripts/initWmcObj.php	2010-08-10 07:55:51 UTC (rev 6724)
+++ trunk/mapbender/http/javascripts/initWmcObj.php	2010-08-10 07:56:11 UTC (rev 6725)
@@ -28,6 +28,14 @@
 	return $_GET[$key];
 }
 
+$options = array();
+if (Mapbender::session()->exists("addwms_showWMS")) {
+	$options["show"] = intval(Mapbender::session()->get("addwms_showWMS"));
+}
+if (Mapbender::session()->exists("addwms_zoomToExtent")) {
+	$options["zoom"] = !!Mapbender::session()->get("addwms_zoomToExtent");
+}
+
 $getParams["WMS"] = getConfiguration("WMS");
 
 if ($getParams['WMS']) {
@@ -64,6 +72,17 @@
 				continue;
 			}
 			array_push($wmsArray, $currentWms);
+			
+			if($multipleAssocArray['visible'] && $multipleAssocArray['visible'] != "") {
+				$options['visible'] = $multipleAssocArray['visible'] === "true" ? true : false;
+			}
+			if($multipleAssocArray['zoom'] && $multipleAssocArray['zoom'] != "") {
+				$options['zoom'] = $multipleAssocArray['zoom'] === "true" ? true : false;
+			}
+			
+			$wmc->mergeWmsArray($wmsArray, $options);
+			$wmsArray = array();
+			$multipleAssocArray = array();
 		}
 		else {
 			$currentWms = new wms();
@@ -77,6 +96,8 @@
 					$currentWms->createObjFromDBNoGui($val);
 				}
 				array_push($wmsArray, $currentWms);
+				$wmc->mergeWmsArray($wmsArray);
+				$wmsArray = array();
 			} 
 			else {
 				$singleAssocArray[$key] = $val;
@@ -90,15 +111,32 @@
 		$currentWms = new wms();	
 		$currentWms->createObjFromDB($singleAssocArray['application'], $singleAssocArray['id']);
 		array_push($wmsArray, $currentWms);
+		if($singleAssocArray['visible'] && $singleAssocArray['visible'] != "") {
+			$options['visible'] = $singleAssocArray['visible'] === "true" ? true : false;
+		}
+		
+		if($singleAssocArray['zoom'] && $singleAssocArray['zoom'] != "") {
+			$options['zoom'] = $singleAssocArray['zoom'] === "true" ? true : false;
+		}
+		$wmc->mergeWmsArray($wmsArray, $options);
+		$wmsArray = array();
+		$singleAssocArray = array();
 	}
 	//get WMS by URL
 	elseif (array_key_exists('url', $singleAssocArray)) {
 		$currentWms = new wms();
 		$currentWms->createObjFromXML($singleAssocArray['url']);
 		array_push($wmsArray, $currentWms);
+		if($singleAssocArray['visible'] && $singleAssocArray['visible'] != "") {
+			$options['visible'] = $singleAssocArray['visible'] === "true" ? true : false;
+		}
+		if($singleAssocArray['zoom'] && $singleAssocArray['zoom'] != "") {
+			$options['zoom'] = $singleAssocArray['zoom'] === "true" ? true : false;
+		}
+		$wmc->mergeWmsArray($wmsArray, $options);
+		$wmsArray = array();
+		$singleAssocArray = array();
 	}
-
-	$wmc->mergeWmsArray($wmsArray);
 }
 
 $getParams["LAYER"] = getConfiguration("LAYER");
@@ -177,12 +215,25 @@
 	}
 }
 
+//workaround to have a fully merged WMS for loading
+$xml = $wmc->toXml();
+$wmc = new wmc();
+$wmc->createFromXml($xml);
+
 $output = $wmc->wmsToJavaScript();
 
+//workaround for zoom to WMS
+$extent = $wmc->mainMap->getExtent();
+if (!Mapbender::session()->exists("mb_myBBOX")) {
+	Mapbender::session()->set("mb_myBBOX", $extent->min->x . "," . $extent->min->y . "," . $extent->max->x . "," . $extent->max->y);
+}
+
 for ($i = 0; $i < count($output); $i++) {
 	echo administration::convertOutgoingString($output[$i]);
 }
 
+Mapbender::session()->delete("addwms_showWMS");
+Mapbender::session()->delete("addwms_zoomToExtent");
 unset($output);
 unset($wmc);
 ?>



More information about the Mapbender_commits mailing list