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

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Mon Oct 19 11:25:34 EDT 2009


Author: christoph
Date: 2009-10-19 11:25:34 -0400 (Mon, 19 Oct 2009)
New Revision: 4792

Modified:
   trunk/mapbender/http/javascripts/requestGeometryConstructor.js
Log:
new Box module

Modified: trunk/mapbender/http/javascripts/requestGeometryConstructor.js
===================================================================
--- trunk/mapbender/http/javascripts/requestGeometryConstructor.js	2009-10-19 15:24:13 UTC (rev 4791)
+++ trunk/mapbender/http/javascripts/requestGeometryConstructor.js	2009-10-19 15:25:34 UTC (rev 4792)
@@ -20,6 +20,12 @@
 	 */
 
 	this.geomTarget = geomTarget;
+	
+	var box = new Mapbender.Box({
+		target: geomTarget
+	});
+	
+	var that = this;
 
 	var ind = getMapObjIndexByName(this.geomTarget);
 	var myMapObj = mb_mapObj[ind];		
@@ -80,10 +86,37 @@
 		}
 		else if (queryType == "rectangle") {
 			queryGeom = new Geometry(geomType.line);
-			el.onmouseover = selAreaExtInit;
-			el.onmousedown = mod_box_start;
-		   	el.onmouseup = selAreaExtGet;
-		   	el.onmousemove = mod_box_run;
+			$(el).mousedown(function (e) {
+				box.start(e);
+				return false;
+			}).mouseup(function (e) {
+				var targetMap = Mapbender.modules[that.geomTarget];
+				if (!targetMap) {
+					return false;
+				}
+				box.stop(e, function (extent) {
+					if (typeof extent === "undefined") {
+						return false;
+					}
+					if (extent.constructor === Mapbender.Extent) {
+						queryGeom = new Geometry(geomType.line);
+						queryGeom.addPoint(extent.min);
+						queryGeom.addPoint(extent.max);
+						queryGeom.close();
+						callback(that.geomTarget,queryGeom);
+
+						$(el)
+							.css("cursor", "default")
+							.unbind("mousedown")
+							.unbind("mouseup")
+							.unbind("mousemove");
+						box = null;
+
+					}
+				});
+				return false;
+				
+			});
 		}
 		else if (queryType == "extent") {
 			queryGeom = new Geometry(geomType.line);
@@ -187,15 +220,11 @@
 	}
 	
 	var selAreaExtInit = function(e){
-		this.geomTarget = geomTarget;
-		var that = this;
    		mb_isBF = that.geomTarget;
    		mb_zF = that.geomTarget;
 	}
 	
 	var selAreaExtGet = function(e){
-		this.geomTarget = geomTarget;
-		var that = this;
 		selAreaExtSetValidClipping(mod_box_stop(e));
 		mb_isBF = that.geomTarget;
 		mb_zF = that.geomTarget;



More information about the Mapbender_commits mailing list