[Mapbender-commits] r5732 - trunk/mapbender/http/plugins

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Fri Mar 5 09:51:55 EST 2010


Author: marcjansen
Date: 2010-03-05 09:51:55 -0500 (Fri, 05 Mar 2010)
New Revision: 5732

Added:
   trunk/mapbender/http/plugins/ol_measureLine.js
   trunk/mapbender/http/plugins/ol_navigation.js
   trunk/mapbender/http/plugins/ol_navigationHistory.js
   trunk/mapbender/http/plugins/ol_permalink.js
   trunk/mapbender/http/plugins/ol_scale.js
   trunk/mapbender/http/plugins/ol_scaleLine.js
Modified:
   trunk/mapbender/http/plugins/ol.js
   trunk/mapbender/http/plugins/ol_keyboardDefaults.js
   trunk/mapbender/http/plugins/ol_layerSwitch.js
   trunk/mapbender/http/plugins/ol_mousePosition.js
   trunk/mapbender/http/plugins/ol_overview.js
   trunk/mapbender/http/plugins/ol_panPanel.js
   trunk/mapbender/http/plugins/ol_panZoomBar.js
   trunk/mapbender/http/plugins/ol_wms.php
Log:
Intermediate state of OpenLayers-template, see: http://osgeo.pastebin.com/mWXMXLcv

Modified: trunk/mapbender/http/plugins/ol.js
===================================================================
--- trunk/mapbender/http/plugins/ol.js	2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -26,37 +26,38 @@
  */
 
 var ol_options = { 
-	scales: [
-		50000000, 
-		30000000, 
-		10000000, 
-		5000000
-	],
-	resolutions: [
-		1.40625,
-		0.703125,
-		0.3515625,
-		0.17578125,
-		0.087890625,
-		0.0439453125
-	],
-	minScale: 50000000,
-	maxResolution: "auto",
-	maxExtent: new OpenLayers.Bounds(-180, -90, 90, 180),
-	maxResolution: 0.17578125,
-	maxScale: 10000000,
-	minResolution: "auto",
-	minExtent: new OpenLayers.Bounds(-1, -1, 1, 1),
-	minResolution: 0.0439453125,
-	numZoomLevels: 5,
-	units: "degrees"
+	maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
+	units: "degrees",
+	fractionalZoom: true,
+	controls: []
 };
 
 OpenLayers.ImgPath = "../extensions/OpenLayers-2.8/img/";
-var map = new OpenLayers.Map(options.id, {maxResolution: 1.40625/2});
+var map = new OpenLayers.Map(options.id, ol_options);
 
-Mapbender.modules[options.id] = $.extend(map, Mapbender.modules[options.id]);
+map.mapbenderEvents = {
+	'mapInstantiated': new Mapbender.Event(),
+	'layersAdded': new Mapbender.Event(),
+	// TODO: This one might be obsolete?
+	'controlsAdded': new Mapbender.Event(),
+	'mapReady': new Mapbender.Event()
+};
 
-Mapbender.events.afterInit.register(function () {
-	map.zoomToMaxExtent();
-});
\ No newline at end of file
+var $openlayers = $(this);
+
+$openlayers.mapbender(map);
+
+var openlayers = $openlayers.mapbender();
+openlayers.mapbenderEvents.mapReady.register(function () {
+	if (!openlayers.getCenter()) {
+		openlayers.zoomToMaxExtent();
+	} 
+});
+
+// register the fiing of the first OL-event to the
+// afterInit-event so that the different had time 
+// to be registered elsewhere
+Mapbender.events.afterInit.register(function(){
+	// fire the mapInstantiated event
+	openlayers.mapbenderEvents.mapInstantiated.trigger();
+});

Modified: trunk/mapbender/http/plugins/ol_keyboardDefaults.js
===================================================================
--- trunk/mapbender/http/plugins/ol_keyboardDefaults.js	2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_keyboardDefaults.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -31,9 +31,7 @@
  * and Simplified BSD license.  
  * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
  */
-
-Mapbender.events.init.register(function () {
-	var ol_map = Mapbender.modules[options.target[0]];	
-	ol_map.addControl(new OpenLayers.Control.KeyboardDefaults());	
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+	ol_map.addControl(new OpenLayers.Control.KeyboardDefaults());
 });
-

Modified: trunk/mapbender/http/plugins/ol_layerSwitch.js
===================================================================
--- trunk/mapbender/http/plugins/ol_layerSwitch.js	2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_layerSwitch.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -29,9 +29,7 @@
  * and Simplified BSD license.  
  * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
  */
-
-Mapbender.events.init.register(function () {
-	var ol_map = Mapbender.modules[options.target[0]];	
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
 	ol_map.addControl(new OpenLayers.Control.LayerSwitcher());	
 });
-

Added: trunk/mapbender/http/plugins/ol_measureLine.js
===================================================================
--- trunk/mapbender/http/plugins/ol_measureLine.js	                        (rev 0)
+++ trunk/mapbender/http/plugins/ol_measureLine.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,104 @@
+/**
+ * Package: ol_scaleLine
+ *
+ * Description:
+ * An OpenLayers ScaleLine
+ * 
+ * Files:
+ *  - http/plugins/ol_scaleLine.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, 
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width, 
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, 
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_scale',1,0,'An OpenLayers ScaleLine','OpenLayers scaleLine',
+ * > 'div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'','','div',
+ * > '../plugins/ol_scaleLine.js','','ol','',
+ * > 'http://www.mapbender.org/ol_scaleline');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_scaleLine
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ * 
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License 
+ * and Simplified BSD license.  
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+	var handleMeasurements = function(event) {
+		var geometry = event.geometry;
+		var units = event.units;
+		var order = event.order;
+		var measure = event.measure;
+		var out = "";
+		if(order == 1) {
+			out += "measure: " + measure.toFixed(3) + " " + units;
+		} else {
+			out += "measure: " + measure.toFixed(3) + " square" + units;
+		}
+		console.log( out );
+        };
+	var deactivateConflictingControls = function() {
+		console.log('deactivating');
+	};
+
+	// style the sketch fancy
+	var sketchSymbolizers = {
+		"Point": {
+			pointRadius: 4,
+			graphicName: "square",
+			fillColor: "white",
+			fillOpacity: 1,
+			strokeWidth: 1,
+			strokeOpacity: 1,
+			strokeColor: "#333333"
+		},
+		"Line": {
+			strokeWidth: 3,
+			strokeOpacity: 1,
+			strokeColor: "#666666",
+			strokeDashstyle: "dash"
+		},
+		"Polygon": {
+			strokeWidth: 2,
+			strokeOpacity: 1,
+			strokeColor: "#666666",
+			fillColor: "white",
+			fillOpacity: 0.3
+		}
+	};
+	var style = new OpenLayers.Style();
+	style.addRules([
+		new OpenLayers.Rule({symbolizer: sketchSymbolizers})
+	]);
+	var styleMap = new OpenLayers.StyleMap({"default": style});
+	
+	var measureLine = new OpenLayers.Control.Measure(
+		OpenLayers.Handler.Path, {
+			persist: true,
+			handlerOptions: {
+				layerOptions: {styleMap: styleMap}
+			},
+			type: 
+		}
+	);
+	measureLine.events.on({
+		"measure": handleMeasurements,
+		"measurepartial": handleMeasurements,
+		"activate": deactivateConflictingControls
+	});
+	
+	ol_map.addControl( measureLine );	
+
+	var panel = new OpenLayers.Control.Panel({
+		position: new OpenLayers.Pixel(100, 0)	
+	});
+        panel.addControls([measureLine]);
+        ol_map.addControl(panel);
+});

Modified: trunk/mapbender/http/plugins/ol_mousePosition.js
===================================================================
--- trunk/mapbender/http/plugins/ol_mousePosition.js	2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_mousePosition.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -43,9 +43,8 @@
  * and Simplified BSD license.  
  * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
  */
-
-Mapbender.events.init.register(function () {
-	var ol_map = Mapbender.modules[options.target[0]];	
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
 	ol_map.addControl(new OpenLayers.Control.MousePosition());	
 });
 

Added: trunk/mapbender/http/plugins/ol_navigation.js
===================================================================
--- trunk/mapbender/http/plugins/ol_navigation.js	                        (rev 0)
+++ trunk/mapbender/http/plugins/ol_navigation.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,35 @@
+/**
+ * Package: ol_navigation
+ *
+ * Description:
+ * An OpenLayers navigation Control
+ * 
+ * Files:
+ *  - http/plugins/ol_navigation.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, 
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width, 
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, 
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_layerSwitch',1,1,'An OpenLayers Navigation Control',
+ * > 'OpenLayers Navigation','div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'',
+ * > '','div','../plugins/ol_navigation.js','','ol','',
+ * > 'http://www.mapbender.org/ol_navigation');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_navigation
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ * 
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License 
+ * and Simplified BSD license.  
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+	ol_map.addControl(new OpenLayers.Control.Navigation());	
+});

Added: trunk/mapbender/http/plugins/ol_navigationHistory.js
===================================================================
--- trunk/mapbender/http/plugins/ol_navigationHistory.js	                        (rev 0)
+++ trunk/mapbender/http/plugins/ol_navigationHistory.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,41 @@
+/**
+ * Package: ol_navigation
+ *
+ * Description:
+ * An OpenLayers NavigationHistory Control
+ * 
+ * Files:
+ *  - http/plugins/ol_navigationHistory.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, 
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width, 
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, 
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_layerSwitch',1,1,'An OpenLayers NavigationHistory Control',
+ * > 'OpenLayers NavigationHistory','div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'',
+ * > '','div','../plugins/ol_navigationHistory.js','','ol','',
+ * > 'http://www.mapbender.org/ol_navigationHistory');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_navigationHistory
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ * 
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License 
+ * and Simplified BSD license.  
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+	var nav = new OpenLayers.Control.NavigationHistory();
+	ol_map.addControl(nav);
+	panel = new OpenLayers.Control.Panel({
+		position: new OpenLayers.Pixel(50, 0)	
+	});
+        panel.addControls([nav.next, nav.previous]);
+        ol_map.addControl(panel);
+});

Modified: trunk/mapbender/http/plugins/ol_overview.js
===================================================================
--- trunk/mapbender/http/plugins/ol_overview.js	2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_overview.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -29,9 +29,7 @@
  * and Simplified BSD license.  
  * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
  */
-
-Mapbender.events.init.register(function () {
-	var ol_map = Mapbender.modules[options.target[0]];	
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
 	ol_map.addControl(new OpenLayers.Control.OverviewMap());	
 });
-

Modified: trunk/mapbender/http/plugins/ol_panPanel.js
===================================================================
--- trunk/mapbender/http/plugins/ol_panPanel.js	2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_panPanel.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -59,11 +59,8 @@
  * and Simplified BSD license.  
  * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
  */
-
-Mapbender.events.init.register(function () {
-	options.$target.mapbender(function () {
-		console.log(this);
-		this.addControl(new OpenLayers.Control.PanPanel());	
-	});	
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+	ol_map.addControl(new OpenLayers.Control.PanPanel());	
 });
 

Modified: trunk/mapbender/http/plugins/ol_panZoomBar.js
===================================================================
--- trunk/mapbender/http/plugins/ol_panZoomBar.js	2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_panZoomBar.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -30,9 +30,7 @@
  * and Simplified BSD license.  
  * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
  */
-
-Mapbender.events.init.register(function () {
-	var ol_map = Mapbender.modules[options.target[0]];	
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
 	ol_map.addControl(new OpenLayers.Control.PanZoomBar());	
 });
-

Added: trunk/mapbender/http/plugins/ol_permalink.js
===================================================================
--- trunk/mapbender/http/plugins/ol_permalink.js	                        (rev 0)
+++ trunk/mapbender/http/plugins/ol_permalink.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,36 @@
+/**
+ * Package: ol_permalink
+ *
+ * Description:
+ * An OpenLayers Permalink
+ * 
+ * Files:
+ *  - http/plugins/ol_permalink.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, 
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width, 
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, 
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_permalink',1,0,'An OpenLayers Permalink','OpenLayers Permalink',
+ * > 'div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'','','div',
+ * > '../plugins/ol_permalink.js','','ol','',
+ * > 'http://www.mapbender.org/ol_permalink');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_permalink
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ * 
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License 
+ * and Simplified BSD license.  
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+	ol_map.addControl(new OpenLayers.Control.ArgParser());	
+	ol_map.addControl(new OpenLayers.Control.Permalink());	
+});

Added: trunk/mapbender/http/plugins/ol_scale.js
===================================================================
--- trunk/mapbender/http/plugins/ol_scale.js	                        (rev 0)
+++ trunk/mapbender/http/plugins/ol_scale.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,35 @@
+/**
+ * Package: ol_scale
+ *
+ * Description:
+ * An OpenLayers Scale
+ * 
+ * Files:
+ *  - http/plugins/ol_scale.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, 
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width, 
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, 
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_scale',1,0,'An OpenLayers Scale','OpenLayers scale',
+ * > 'div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'','','div',
+ * > '../plugins/ol_permalink.js','','ol','',
+ * > 'http://www.mapbender.org/ol_scale');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_permalink
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ * 
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License 
+ * and Simplified BSD license.  
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+	ol_map.addControl(new OpenLayers.Control.Scale());	
+});

Added: trunk/mapbender/http/plugins/ol_scaleLine.js
===================================================================
--- trunk/mapbender/http/plugins/ol_scaleLine.js	                        (rev 0)
+++ trunk/mapbender/http/plugins/ol_scaleLine.js	2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,35 @@
+/**
+ * Package: ol_scaleLine
+ *
+ * Description:
+ * An OpenLayers ScaleLine
+ * 
+ * Files:
+ *  - http/plugins/ol_scaleLine.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, 
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width, 
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, 
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_scale',1,0,'An OpenLayers ScaleLine','OpenLayers scaleLine',
+ * > 'div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'','','div',
+ * > '../plugins/ol_scaleLine.js','','ol','',
+ * > 'http://www.mapbender.org/ol_scaleline');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_scaleLine
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ * 
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License 
+ * and Simplified BSD license.  
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+	ol_map.addControl(new OpenLayers.Control.ScaleLine());	
+});

Modified: trunk/mapbender/http/plugins/ol_wms.php
===================================================================
--- trunk/mapbender/http/plugins/ol_wms.php	2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_wms.php	2010-03-05 14:51:55 UTC (rev 5732)
@@ -29,8 +29,9 @@
  * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
  */
 
-Mapbender.events.init.register(function () {
- 
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.mapInstantiated.register(function () {
+	console.log('mapInstantiated has fired');	
 	var ol_map = Mapbender.modules[options.target[0]];
 <?php
 
@@ -46,8 +47,17 @@
 while($row = db_fetch_array($res)){
 	$mywms = new wms();
 	$mywms->createObjFromDB(Mapbender::session()->get("mb_user_gui"),$row["fkey_wms_id"]);
-	$mywms->createOlObjFromWMS($cnt==0);
+	// create the first OL-layer as baselayer
+	$isBaseLayer = ($cnt === 0) ? true : false;
+	$mywms->createOlObjFromWMS( $isBaseLayer );	
 	$cnt++;
 }
 ?>
-});
\ No newline at end of file
+	// fire the mapInstantiated event
+	// often the controls will be listening to this event 
+	ol_map.mapbenderEvents.layersAdded.trigger();
+	// fire the mapInstantiated event
+	ol_map.mapbenderEvents.mapReady.trigger();
+});
+
+



More information about the Mapbender_commits mailing list