diff --git a/lib/OpenLayers/Control/WMSGetFeatureInfo.js b/lib/OpenLayers/Control/WMSGetFeatureInfo.js index c93eef5c63..c193ca7922 100644 --- a/lib/OpenLayers/Control/WMSGetFeatureInfo.js +++ b/lib/OpenLayers/Control/WMSGetFeatureInfo.js @@ -370,13 +370,13 @@ OpenLayers.Control.WMSGetFeatureInfo = OpenLayers.Class(OpenLayers.Control, { }, (parseFloat(firstLayer.params.VERSION) >= 1.3) ? { crs: projection, - i: clickPosition.x, - j: clickPosition.y + i: parseInt(clickPosition.x), + j: parseInt(clickPosition.y) } : { srs: projection, - x: clickPosition.x, - y: clickPosition.y + x: parseInt(clickPosition.x), + y: parseInt(clickPosition.y) } ); OpenLayers.Util.applyDefaults(params, this.vendorParams); diff --git a/tests/Control/WMSGetFeatureInfo.html b/tests/Control/WMSGetFeatureInfo.html index 5d370d76b1..6ed080d000 100644 --- a/tests/Control/WMSGetFeatureInfo.html +++ b/tests/Control/WMSGetFeatureInfo.html @@ -233,7 +233,7 @@ // Verify that things work all right when we combine different types for the STYLES and LAYERS // params in the WMS Layers involved function test_mixedParams(t) { - t.plan(3); + t.plan(5); var map = new OpenLayers.Map("map", { getExtent: function() {return(new OpenLayers.Bounds(-180,-90,180,90));} } @@ -271,9 +271,21 @@ log.options = options; }; click.activate(); - click.getInfoForClick({xy: {x: 50, y: 50}}); + click.getInfoForClick({xy: {x: 50.2, y: 50.1}}); OpenLayers.Request.GET = _request; + t.eq( + log.options && log.options.params.X, + 50, + "X should be an integer" + ); + + t.eq( + log.options && log.options.params.Y, + 50, + "Y should be an integer" + ); + t.eq( log.options && log.options.url, "http://localhost/wms", @@ -506,7 +518,7 @@ log.options = options; }; click.activate(); - click.getInfoForClick({xy: {x: 50, y: 60}}); + click.getInfoForClick({xy: {x: 50.1, y: 60.2}}); OpenLayers.Request.GET = _request; t.eq( log.options && log.options.params.CRS,