make WMSGetFeatureInfo Control WMS 1.3 compatible, r=ahocevar (closes #2355)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@9879 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
bartvde
2009-12-09 19:08:55 +00:00
parent f28ebc2a02
commit fdb924ebfb
3 changed files with 102 additions and 32 deletions

View File

@@ -156,6 +156,20 @@ OpenLayers.Layer.WMS = OpenLayers.Class(OpenLayers.Layer.Grid, {
return obj;
},
/**
* APIMethod: reverseAxisOrder
* Returns true if the axis order is reversed for the WMS version and
* projection of the layer.
*
* Returns:
* {Boolean} true if the axis order is reversed, false otherwise.
*/
reverseAxisOrder: function() {
return (parseFloat(this.params.VERSION) >= 1.3 &&
OpenLayers.Util.indexOf(this.yx,
this.map.getProjectionObject().getCode()) !== -1)
},
/**
* Method: getURL
* Return a GetMap query string for this layer
@@ -175,16 +189,10 @@ OpenLayers.Layer.WMS = OpenLayers.Class(OpenLayers.Layer.Grid, {
var imageSize = this.getImageSize();
var newParams = {};
// WMS 1.3 introduced axis order
if (parseFloat(this.params.VERSION) >= 1.3 &&
OpenLayers.Util.indexOf(this.yx,
this.map.getProjectionObject().getCode()) !== -1) {
newParams.BBOX = this.encodeBBOX ? bounds.toBBOX(null, true) :
bounds.toArray(true);
} else {
newParams.BBOX = this.encodeBBOX ? bounds.toBBOX() :
bounds.toArray();
}
var reverseAxisOrder = this.reverseAxisOrder();
newParams.BBOX = this.encodeBBOX ?
bounds.toBBOX(null, reverseAxisOrder) :
bounds.toArray(reverseAxisOrder);
newParams.WIDTH = imageSize.w;
newParams.HEIGHT = imageSize.h;
var requestString = this.getFullRequestString(newParams);