add parsing of boundedBy in Format.WMSGetFeatureInfo, r=elemoine (closes #2329)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@9800 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
bartvde
2009-11-16 10:44:02 +00:00
parent ebc5d7c021
commit 10920f6f93
3 changed files with 60 additions and 9 deletions

View File

@@ -121,10 +121,11 @@ OpenLayers.Format.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Format.XML, {
if (featureNodes) {
for (var j = 0; j < featureNodes.length; j++) {
var featureNode = featureNodes[j];
var geom = this.parseGeometry(featureNode);
var geomInfo = this.parseGeometry(featureNode);
var attributes = this.parseAttributes(featureNode);
var feature = new OpenLayers.Feature.Vector(geom,
var feature = new OpenLayers.Feature.Vector(geomInfo.geometry,
attributes, null);
feature.bounds = geomInfo.bounds;
feature.type = layerName;
response.push(feature);
}
@@ -252,13 +253,14 @@ OpenLayers.Format.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Format.XML, {
/**
* Method: parseGeometry
* Parse the geometry out of the node using Format.GML
* Parse the geometry and the feature bounds out of the node using
* Format.GML
*
* Parameters:
* node - {<DOMElement>}
*
* Returns:
* {<OpenLayers.Geometry>} the geometry object
* {Object} An object containing the geometry and the feature bounds
*/
parseGeometry: function(node) {
// we need to use the old Format.GML parser since we do not know the
@@ -267,12 +269,13 @@ OpenLayers.Format.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Format.XML, {
this.gmlFormat = new OpenLayers.Format.GML();
}
var feature = this.gmlFormat.parseFeature(node);
var geometry = null;
var geometry, bounds = null;
if (feature && feature.geometry) {
geometry = feature.geometry.clone();
bounds = feature.bounds && feature.bounds.clone();
feature.destroy();
}
return geometry;
return {geometry: geometry, bounds: bounds};
},
CLASS_NAME: "OpenLayers.Format.WMSGetFeatureInfo"