[Mapbender-commits] r1344 - branches/redesign/http/javascripts

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Thu May 24 03:13:58 EDT 2007


Author: uli
Date: 2007-05-24 03:13:56 -0400 (Thu, 24 May 2007)
New Revision: 1344

Modified:
   branches/redesign/http/javascripts/map_obj.js
Log:
some new methods

Modified: branches/redesign/http/javascripts/map_obj.js
===================================================================
--- branches/redesign/http/javascripts/map_obj.js	2007-05-24 06:54:03 UTC (rev 1343)
+++ branches/redesign/http/javascripts/map_obj.js	2007-05-24 07:13:56 UTC (rev 1344)
@@ -5,7 +5,7 @@
 */
 
 //global variables
-var wms = new Array();
+var wms = [];
 var wms_layer_count = 0;
 //list of all wms-objects
 function add_wms(
@@ -35,8 +35,8 @@
 					gui_wms_featureinfoformat,
 					gui_wms_exceptionformat,
 					gui_wms_epsg,
-					gui_wms_visible);
-					wms_layer[wms.length - 1] = new Array();
+					parseInt(gui_wms_visible));
+					wms_layer[wms.length - 1] = [];
 }
 //the wms constructor
 function wms_const(  
@@ -73,23 +73,95 @@
 	this.wms_getfeatureinfo = wms_getfeatureinfo;
 	this.wms_getlegendurl = wms_getlegendurl;
 	this.wms_filter = wms_filter;
-	this.data_type = new Array();
-	this.data_format = new Array();
-	this.objLayer = new Array();
+	this.data_type = [];
+	this.data_format = [];
+	this.objLayer = [];
 	this.gui_wms_mapformat = gui_wms_mapformat;
 	this.gui_wms_featureinfoformat = gui_wms_featureinfoformat;
 	this.gui_wms_exceptionformat = gui_wms_exceptionformat;
 	this.gui_wms_epsg = gui_wms_epsg;
 	this.gui_wms_visible = gui_wms_visible;
-	this.gui_epsg = new Array();
-	this.gui_minx = new Array();
-	this.gui_miny = new Array();
-	this.gui_maxx = new Array();
-	this.gui_maxy = new Array();
+	this.gui_epsg = [];
+	this.gui_minx = [];
+	this.gui_miny = [];
+	this.gui_maxx = [];
+	this.gui_maxy = [];
 
 // opacity version 
 	this.gui_wms_mapopacity = 1;      
 }
+
+/**
+ * rephrases the featureInfoRequest
+ *
+ * @member wms_const 
+ * @param Point clickPoint map-click position (pixel x, pixel y)
+ * @return featureInfoRequest, onlineresource + params
+ * @type string
+ */
+wms_const.prototype.getFeatureInfoRequest = function(mapObj, clickPoint){	
+	var rq = '';
+	
+	//Parameter LAYERS
+	var layers = this.getLayers();
+	var querylayers = this.getQuerylayers();
+	if(!layers || !querylayers){
+		return false;
+	}
+	
+	rq += "LAYERS=" + layers;
+	rq += "&QUERY_LAYERS=" + querylayers;
+	 
+	alert(rq);
+};
+
+/**
+ * get all visible layers
+ *
+ * @member wms_const 
+ * @return commaseparated list of layernames
+ * @type string
+ */
+wms_const.prototype.getLayers = function(){
+	
+	//visibility of the wms
+	var wmsIsVisible = (this.gui_wms_visible > 0);
+	if(!wmsIsVisible){
+		return false;
+	}
+	
+	visibleLayers = [];
+	for(var i=0; i< this.objLayer.length; i++){
+		if(this.objLayer[i].gui_layer_visible === 1 && this.objLayer[i].layer_parent !== '' ){
+			visibleLayers.push(this.objLayer[i].layer_name);
+		}
+	}
+	if(visibleLayers.length == 0){
+		return false;
+	}
+	return visibleLayers.join(",");
+};
+
+/**
+ * get all querylayers
+ *
+ * @member wms_const 
+ * @return commaseparated list of layernames
+ * @type string
+ */
+wms_const.prototype.getQuerylayers = function(){
+	queryLayers = [];
+	for(var i=0; i< this.objLayer.length; i++){
+		if(this.objLayer[i].gui_layer_querylayer === 1 && this.objLayer[i].layer_parent !== '' ){
+			queryLayers.push(this.objLayer[i].layer_name);
+		}
+	}
+	if(visibleLayers.length == 0){
+		return false;
+	}
+	return visibleLayers.join(",");
+};
+
 function wms_add_data_type_format(datatype,dataformat){
 	var insertDataFormat = true;
 	for (var i = 0 ; i < wms[wms.length-1].data_type.length ; i ++) {
@@ -110,16 +182,16 @@
 	wms[wms.length-1].gui_maxy[wms[wms.length-1].gui_maxy.length] = maxy;
 }
 function wms_addLayerStyle(styleName, styleTitle, count, layerCount, styleLegendUrl, styleLegendUrlFormat){
-	if (wms[wms.length-1].objLayer[layerCount]) {
-		wms[wms.length-1].objLayer[layerCount].layer_style[count] = new Array();
-		wms[wms.length-1].objLayer[layerCount].layer_style[count]["name"] = styleName;
-		wms[wms.length-1].objLayer[layerCount].layer_style[count]["title"] = styleTitle;
-		wms[wms.length-1].objLayer[layerCount].layer_style[count]["legendurl"] = styleLegendUrl;
-		wms[wms.length-1].objLayer[layerCount].layer_style[count]["legendurlformat"] = 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;
 	}
 }
 
-
 //layer
 function wms_add_layer(
 			layer_parent,
@@ -166,7 +238,7 @@
 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;
-	wms[wms.length-1].objLayer[j].layer_epsg[k]=new Array();
+	wms[wms.length-1].objLayer[j].layer_epsg[k]=[];
 	wms[wms.length-1].objLayer[j].layer_epsg[k]["epsg"]=epsg;
 	wms[wms.length-1].objLayer[j].layer_epsg[k]["minx"]=minx;
 	wms[wms.length-1].objLayer[j].layer_epsg[k]["miny"]=miny;
@@ -204,7 +276,7 @@
 	this.layer_minscale = layer_minscale;
 	this.layer_maxscale = layer_maxscale;
 	this.layer_metadataurl = layer_metadataurl;
-	this.layer_epsg = new Array();
+	this.layer_epsg = [];
 	this.gui_layer_wms_id = gui_layer_wms_id;
 	this.gui_layer_status = gui_layer_status;
 	this.gui_layer_selectable = gui_layer_selectable;
@@ -214,6 +286,6 @@
 	this.gui_layer_minscale = gui_layer_minscale;
 	this.gui_layer_maxscale = gui_layer_maxscale;
 	this.gui_layer_wfs_featuretype = gui_layer_wfs_featuretype;
-	this.layer_style = new Array();
+	this.layer_style = [];
 	wms_layer_count++;
 }
\ No newline at end of file



More information about the Mapbender_commits mailing list