[Mapbender-commits] r1352 - branches/redesign/http/javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Thu May 24 10:59:52 EDT 2007
Author: uli
Date: 2007-05-24 10:59:52 -0400 (Thu, 24 May 2007)
New Revision: 1352
Modified:
branches/redesign/http/javascripts/map.php
branches/redesign/http/javascripts/map_obj.js
Log:
more oo methods etc
Modified: branches/redesign/http/javascripts/map.php
===================================================================
--- branches/redesign/http/javascripts/map.php 2007-05-24 14:58:41 UTC (rev 1351)
+++ branches/redesign/http/javascripts/map.php 2007-05-24 14:59:52 UTC (rev 1352)
@@ -182,7 +182,7 @@
* @return width of the mapObj
* @type integer
*/
- this.getWidth = function(){
+ this.getHeight = function(){
return this.height;
};
@@ -223,6 +223,10 @@
for(var i=0; i<this.wms.length; i++){
allRequests.push(this.wms[i].getFeatureInfoRequest(this, clickPoint));
}
+ if(allRequests.length > 0){
+ return allRequests;
+ }
+ return false;
};
Modified: branches/redesign/http/javascripts/map_obj.js
===================================================================
--- branches/redesign/http/javascripts/map_obj.js 2007-05-24 14:58:41 UTC (rev 1351)
+++ branches/redesign/http/javascripts/map_obj.js 2007-05-24 14:59:52 UTC (rev 1352)
@@ -94,33 +94,58 @@
/**
* rephrases the featureInfoRequest
*
- * @member wms_const
- * @param Point clickPoint map-click position (pixel x, pixel y)
+ * @member wms_const
+ * @param Object mapObj the mapbender mapObject of the wms
+ * @param Point clickPoint map-click position
* @return featureInfoRequest, onlineresource + params
* @type string
*/
wms_const.prototype.getFeatureInfoRequest = function(mapObj, clickPoint){
- var rq = '';
- //Parameter LAYERS
+ //check layers and querylayers first
var layers = this.getLayers();
var querylayers = this.getQuerylayers();
+
if(!layers || !querylayers){
return false;
}
- rq += "LAYERS=" + layers;
- rq += "&QUERY_LAYERS=" + querylayers;
-
- alert(rq);
+ var rq = this.wms_getfeatureinfo;
+ rq += mb_getConjunctionCharacter(this.wms_getfeatureinfo);
+ if(this.wms_version === "1.0.0"){
+ rq += "WMTVER=" + this.wms_version + "&REQUEST=feature_info";
+ }
+ else{
+ rq += "VERSION=" + this.wms_version + "&REQUEST=GetFeatureInfo&SERVICE=WMS";
+ }
+
+ rq += "&LAYERS=" + layers.join(",");
+ rq += "&QUERY_LAYERS=" + querylayers.join(",");
+ rq += "&WIDTH=" + mapObj.getWidth();
+ rq += "&HEIGHT=" + mapObj.getHeight();
+ rq += "&SRS=" + mapObj.getSRS();
+ rq += "&BBOX=" + mapObj.getExtent();
+ rq += "&STYLES=" + this.getLayerstyles().join(",");
+ rq += "&FORMAT=" + this.gui_wms_mapformat;
+ rq += "&INFO_FORMAT=" + this.gui_wms_featureinfoformat;
+ rq += "&EXCEPTIONS=application/vnd.ogc.se_xml";
+ rq += "&X=" + clickPoint.x;
+ rq += "&Y=" + clickPoint.y;
+
+//TODO: handle FEATURE_COUNT AS ELEMENT_VAR IN EACH MODULE
+// if(mb_feature_count > 0){
+// rq += "FEATURE_COUNT="+mb_feature_count+"&";
+// }
+// console.log(rq);
+
};
/**
* get all visible layers
*
* @member wms_const
- * @return commaseparated list of layernames
- * @type string
+ * @return array of layernames
+ * @type string[]
*/
wms_const.prototype.getLayers = function(){
@@ -129,37 +154,73 @@
if(!wmsIsVisible){
return false;
}
-
+ //TODO: consider scalehints
visibleLayers = [];
for(var i=0; i< this.objLayer.length; i++){
- if(this.objLayer[i].gui_layer_visible === 1 && this.objLayer[i].layer_parent !== '' ){
+ if(this.objLayer[i].gui_layer_visible === 1 && this.objLayer[i].layer_parent !== null ){
visibleLayers.push(this.objLayer[i].layer_name);
}
}
- if(visibleLayers.length == 0){
+ if(visibleLayers.length === 0){
return false;
}
- return visibleLayers.join(",");
+ return visibleLayers;
};
/**
- * get all querylayers
+ * get the actual style of all visible layers
*
* @member wms_const
- * @return commaseparated list of layernames
+ * @return commaseparated list of actual layerstyles
* @type string
*/
+wms_const.prototype.getLayerstyles = function(){
+ var layers = this.getLayers();
+ var layerstyles = '';
+ var styles = [];
+ if(layers){
+ for(i = 0; i < layers.length; i++){
+ var style = this.getStyleByLayerName(layers[i]);
+ if(!style){
+ style = '';
+ }
+ styles.push(style)
+ }
+ return styles;
+ }
+ return false;
+};
+
+/**
+ * get the style of the layer
+ *
+ * @member wms_const
+ * @param layername
+ * @return the stylename of the given layer
+ * @type string
+ */
+wms_const.prototype.getStyleByLayerName = function(layername){
+ return false;
+};
+
+/**
+ * get all querylayers
+ *
+ * @member wms_const
+ * @return array 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 !== '' ){
+ if(this.objLayer[i].gui_layer_querylayer === 1 && this.objLayer[i].layer_parent !== null ){
queryLayers.push(this.objLayer[i].layer_name);
}
}
- if(visibleLayers.length == 0){
+ if(queryLayers.length === 0){
return false;
}
- return visibleLayers.join(",");
+ return queryLayers;
};
function wms_add_data_type_format(datatype,dataformat){
@@ -191,7 +252,7 @@
currentLayer.layer_style[count]["legendurlformat"] = styleLegendUrlFormat;
}
}
-
+//TODO: add layerstyle handling....
//layer
function wms_add_layer(
layer_parent,
@@ -227,23 +288,24 @@
layer_metadataurl,
gui_layer_wms_id,
gui_layer_status,
- gui_layer_selectable,
- gui_layer_visible,
- gui_layer_queryable,
- gui_layer_querylayer,
+ parseInt(gui_layer_selectable),
+ parseInt(gui_layer_visible),
+ parseInt(gui_layer_queryable),
+ parseInt(gui_layer_querylayer),
gui_layer_minscale,
gui_layer_maxscale,
gui_layer_wfs_featuretype );
}
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]=[];
- 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;
- wms[wms.length-1].objLayer[j].layer_epsg[k]["maxx"]=maxx;
- wms[wms.length-1].objLayer[j].layer_epsg[k]["maxy"]=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;
}
function wms_layer(
layer_parent,
@@ -286,6 +348,7 @@
this.gui_layer_minscale = gui_layer_minscale;
this.gui_layer_maxscale = gui_layer_maxscale;
this.gui_layer_wfs_featuretype = gui_layer_wfs_featuretype;
+ this.gui_layer_style;
this.layer_style = [];
wms_layer_count++;
}
\ No newline at end of file
More information about the Mapbender_commits
mailing list