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

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Mon Oct 29 08:25:10 EDT 2007


Author: christoph
Date: 2007-10-29 08:25:10 -0400 (Mon, 29 Oct 2007)
New Revision: 1766

Modified:
   trunk/mapbender/http/javascripts/map_obj.js
Log:
bug fix scalehint
jslinted

Modified: trunk/mapbender/http/javascripts/map_obj.js
===================================================================
--- trunk/mapbender/http/javascripts/map_obj.js	2007-10-29 11:16:25 UTC (rev 1765)
+++ trunk/mapbender/http/javascripts/map_obj.js	2007-10-29 12:25:10 UTC (rev 1766)
@@ -96,11 +96,13 @@
    
 	if (!wms_id) {
 		var id_ok = false;
-		while (id_ok == false) {
+		while (id_ok === false) {
 			wms_id = "a"+Math.round(10000*Math.random());
 			id_ok = true;
-			for (var i=0; i < wms.length && id_ok == true; i++) {
-				if (wms_id == wms[i].wms_id) id_ok = false;
+			for (var i=0; i < wms.length && id_ok === true; i++) {
+				if (wms_id == wms[i].wms_id) { 
+					id_ok = false;
+				}
 			}
 		}
 	}
@@ -141,7 +143,6 @@
  * @type String
  */
 wms_const.prototype.getMapRequest = function(mapObj){	
-	//console.log()
 	//check visible layers first
 	var layers = this.getLayers(mapObj);
 	if(!layers){
@@ -158,17 +159,16 @@
 	}
 	
 	rq += "&LAYERS=" + layers.join(",");
-	rq += "&STYLES=" + this.getLayerstyles(mapObj).join(",");
+	rq += "&WIDTH=" + mapObj.getWidth();
+	rq += "&HEIGHT=" + mapObj.getHeight();
 	rq += "&SRS=" + mapObj.getSRS();
 	rq += "&BBOX=" + mapObj.getExtent();
-	rq += "&WIDTH=" + mapObj.getWidth();
-	rq += "&HEIGHT=" + mapObj.getHeight();	
+	rq += "&STYLES=" + this.getLayerstyles(mapObj).join(",");
 	rq += "&FORMAT=" + this.gui_wms_mapformat;
-	rq += "&BGCOLOR=0xffffff&TRANSPARENT=TRUE";
 	rq += "&EXCEPTIONS=" + this.gui_wms_exceptionformat;
 	//Todo: error occurs:
 	//var throwNotice = new Mb_notice("getMapRequest: " + rq);
-	window.console.log("wms.getMapRequest: " + rq);
+	//window.console.log("getMapRequest: " + rq);
 	return rq;
 };
 
@@ -224,6 +224,7 @@
  */
 wms_const.prototype.getLayers = function(mapObj){
 	
+	try {
 	//visibility of the wms
 	var wmsIsVisible = (this.gui_wms_visible > 0);
 	if(!wmsIsVisible){
@@ -231,7 +232,9 @@
 	}
 	visibleLayers = [];
 	for(var i=0; i< this.objLayer.length; i++){
-		if(this.objLayer[i].gui_layer_visible === 1 && ! this.objLayer[i].has_childs){
+		var isVisible = (this.objLayer[i].gui_layer_visible === 1);
+		var hasNoChildren = (!this.objLayer[i].has_childs);
+		if (isVisible && hasNoChildren){
 			if(this.objLayer[i].checkScale(mapObj)){
 				//console.log("checkLayer: " + this.objLayer[i].layer_name);
 				visibleLayers.push(this.objLayer[i].layer_name);
@@ -242,9 +245,12 @@
 		return false;
 	}
 	return visibleLayers;
+	}
+	catch (e) {
+		alert(e);
+	}
 };
 
-
 /**
  * get the actual style of all visible layers
  *
@@ -328,13 +334,14 @@
 wms_const.prototype.getLegendUrlByGuiLayerStyle = function(layername,guiLayerStyle){
 	for(var i=0; i< this.objLayer.length; i++){
 		if(this.objLayer[i].layer_name == layername){
-			if(this.objLayer[i].layer_style.length==0){
+			if(this.objLayer[i].layer_style.length === 0){
 				return false;
 			}
 			for(var k=0; k< this.objLayer[i].layer_style.length; k++){
-				if(this.objLayer[i].layer_style[k]["name"]==guiLayerStyle){
-					if(this.objLayer[i].layer_style[k]["legendurl"]!=''){
-						return this.objLayer[i].layer_style[k]["legendurl"];
+				if(this.objLayer[i].layer_style[k].name == guiLayerStyle){
+					var legendUrl = this.objLayer[i].layer_style[k].legendurl;
+					if(legendUrl !=='' && legendUrl !== null && typeof(legendUrl) != 'undefined'){
+						return legendUrl;
 					}
 					else {
 						return false;
@@ -343,6 +350,7 @@
 			}
 		}
 	}
+	return false;
 };
 
 /**
@@ -373,8 +381,9 @@
 
 wms_const.prototype.getLayerByLayerPos = function(layer_pos){
 	for(var i=0;i<this.objLayer.length;i++){
-		if(this.objLayer[i].layer_pos == layer_pos)
+		if(this.objLayer[i].layer_pos == layer_pos) {
 			return this.objLayer[i];
+		}
 	}
 	return null;
 };
@@ -390,22 +399,28 @@
 	var i;
 	var state=-1,value;
 	for(i = 0; i < this.objLayer.length; i++){
-		if(this.objLayer[i].layer_id==layer_id)
+		if(this.objLayer[i].layer_id==layer_id) {
 			break;
+		}
 	}
 	
 	//go throught sublayers
 	for(var j = i+1; j < this.objLayer.length; j++){
-		if(this.objLayer[i].parent_layer == this.objLayer[j].parent_layer)
+		if(this.objLayer[i].parent_layer == this.objLayer[j].parent_layer) {
 			break;
-		if(type == "visible")
+		}
+		if(type == "visible") {
 			value = this.objLayer[j].gui_layer_visible;
-		else if(type == "querylayer")
+		}
+		else if(type == "querylayer") {
 			value = this.objLayer[j].gui_layer_querylayer;
-		if(state == -1)
+		}
+		if(state == -1) {
 			state = value;
-		if(state != value)
+		}
+		if(state != value) {
 			return -1;
+		}
 	}
 	
 	return state;
@@ -420,18 +435,22 @@
 wms_const.prototype.handleLayer = function(layer_name, type, value){
 	var i;
 	for(i = 0; i < this.objLayer.length; i++){
-		if(this.objLayer[i].layer_name==layer_name)
+		if(this.objLayer[i].layer_name==layer_name) {
 			break;
+		}
 	}
 	
 	//Set visibility/queryability of Layer and Sublayers
 	for(var j = i; j < this.objLayer.length; j++){
-		if(i != j && this.objLayer[i].layer_parent == this.objLayer[j].layer_parent)
+		if (i != j && this.objLayer[i].layer_parent == this.objLayer[j].layer_parent) {
 			break;
-		if(type == "visible")
+		}
+		if(type == "visible") {
 			this.objLayer[j].gui_layer_visible = parseInt(value);
-		else if(type=="querylayer")
+		}
+		else if(type=="querylayer") {
 			this.objLayer[j].gui_layer_querylayer = parseInt(value);
+		}
 	}
 
 	//Update visibility/queryability of parent layer
@@ -439,10 +458,12 @@
 	if(parentLayer){
 		var state = this.getSublayerState(parentLayer.layer_id, type);
 		if(state!=-1){
-			if(type == "visible")
+			if(type == "visible") {
 				this.objLayer[j].gui_layer_visible = state;
-			else if(type=="querylayer")
+			}
+			else if(type=="querylayer") {
 				this.objLayer[j].gui_layer_querylayer = state;
+			}
 		}		
 	}
 };
@@ -467,8 +488,9 @@
 			break;
 		}
 	}
-	if(iLayer==-1)
+	if(iLayer==-1) {
 		return false;
+	}
 	
 	var upperLayer = -1;
 	var lowerLayer = -1;
@@ -530,7 +552,7 @@
 	}
 
 	return true;
-}
+};
 
 function wms_add_data_type_format(datatype,dataformat){
 	var insertDataFormat = true;
@@ -539,7 +561,7 @@
 			insertDataFormat = false;
 		}
 	}
-	if (insertDataFormat == true) {
+	if (insertDataFormat === true) {
 		wms[wms.length-1].data_type[wms[wms.length-1].data_type.length] = datatype;
 		wms[wms.length-1].data_format[wms[wms.length-1].data_format.length] = dataformat;
 	}
@@ -554,11 +576,11 @@
 function wms_addLayerStyle(styleName, styleTitle, count, layerCount, styleLegendUrl, styleLegendUrlFormat){
 	var currentLayer = wms[wms.length-1].objLayer[layerCount]; 
 	if (currentLayer) {
-		currentLayer.layer_style[count] = [];
-		currentLayer.layer_style[count]["name"] = styleName;
-		currentLayer.layer_style[count]["title"] = styleTitle;
-		currentLayer.layer_style[count]["legendurl"] = styleLegendUrl;
-		currentLayer.layer_style[count]["legendurlformat"] = styleLegendUrlFormat;
+		currentLayer.layer_style[count] = {};
+		currentLayer.layer_style[count].name = styleName;
+		currentLayer.layer_style[count].title = styleTitle;
+		currentLayer.layer_style[count].legendurl = styleLegendUrl;
+		currentLayer.layer_style[count].legendurlformat = styleLegendUrlFormat;
 	}
 }
 //TODO: add layerstyle handling....
@@ -607,19 +629,20 @@
 											parseInt(gui_layer_maxscale),
 											gui_layer_wfs_featuretype );
 	var parentLayer = wms[wms.length-1].getLayerByLayerPos(parseInt(layer_parent));
-	if(parentLayer)
+	if(parentLayer) {
 		parentLayer.has_childs = true;
+	}
 }
 function layer_addEpsg(epsg,minx,miny,maxx,maxy){
 	var j = wms[wms.length-1].objLayer.length-1;
 	var k = wms[wms.length-1].objLayer[j].layer_epsg.length;
 	var currentLayer = wms[wms.length-1].objLayer[j];
-	currentLayer.layer_epsg[k]=[];
-	currentLayer.layer_epsg[k]["epsg"]=epsg;
-	currentLayer.layer_epsg[k]["minx"]=minx;
-	currentLayer.layer_epsg[k]["miny"]=miny;
-	currentLayer.layer_epsg[k]["maxx"]=maxx;
-	currentLayer.layer_epsg[k]["maxy"]=maxy;
+	currentLayer.layer_epsg[k]={};
+	currentLayer.layer_epsg[k].epsg = epsg;
+	currentLayer.layer_epsg[k].minx = minx;
+	currentLayer.layer_epsg[k].miny = miny;
+	currentLayer.layer_epsg[k].maxx = maxx;
+	currentLayer.layer_epsg[k].maxy = maxy;
 }
 function wms_layer(
 			layer_parent,
@@ -664,7 +687,7 @@
 	this.gui_layer_maxscale = gui_layer_maxscale;
 	this.gui_layer_style = gui_layer_style;
 	this.gui_layer_wfs_featuretype = gui_layer_wfs_featuretype;
-	this.gui_layer_style;
+	this.gui_layer_style = null;
 	this.has_childs = false;
 	this.layer_style = [];
 	wms_layer_count++;
@@ -677,22 +700,17 @@
  * @type boolean
  */
 wms_layer.prototype.checkScale = function(mapObj){
-	//Todo!
-	if(mapObj.getSRS() == "EPSG:4326"){
-		return true;
-	}
-	
-	var minScale = this.gui_layer_minscale;
-	var maxScale = this.gui_layer_maxscale;
-	var currentScale = mapObj.getScale();
+	var minScale = parseInt(this.gui_layer_minscale);
+	var maxScale = parseInt(this.gui_layer_maxscale);
+	var currentScale = parseInt(mapObj.getScale());
 	if(minScale === 0 && maxScale === 0){
 		return true;
 	}
-	if((minScale != 0 && minScale > currentScale) || (maxScale != 0 && maxScale < currentScale)){
+	if(minScale > currentScale || (maxScale !== 0 && maxScale < currentScale)) {
 		return false;
 	}	
 	return true;
-}
+};
 /**
  * set visibility of the layer
  * @param boolean visible visibility on/off
@@ -700,7 +718,7 @@
 wms_layer.prototype.setVisible = function(visible){
 	this.gui_layer_visible = parseInt(visible);
 	//console.log("setVisible(%i) for Layer %s",visible, this.layer_name);
-}
+};
 
 /**
  * set queryability of the layer



More information about the Mapbender_commits mailing list