diff --git a/lib/OpenLayers/Layer/Grid.js b/lib/OpenLayers/Layer/Grid.js index 1e3598bd04..62a277a2ce 100644 --- a/lib/OpenLayers/Layer/Grid.js +++ b/lib/OpenLayers/Layer/Grid.js @@ -663,8 +663,8 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, { this.backBufferLonLat, resolution); var leftOffset = parseInt(this.map.layerContainerDiv.style.left, 10); var topOffset = parseInt(this.map.layerContainerDiv.style.top, 10); - backBuffer.style.left = (position.x - leftOffset) + '%'; - backBuffer.style.top = (position.y - topOffset) + '%'; + backBuffer.style.left = Math.round(position.x - leftOffset) + '%'; + backBuffer.style.top = Math.round(position.y - topOffset) + '%'; }, /** diff --git a/tests/Layer/Grid.html b/tests/Layer/Grid.html index 1635268b8b..881da6a800 100644 --- a/tests/Layer/Grid.html +++ b/tests/Layer/Grid.html @@ -1245,7 +1245,7 @@ // zoom transition. // - t.plan(2); + t.plan(4); var map = new OpenLayers.Map('map'); var layer = new OpenLayers.Layer.WMS('', '', {}, { @@ -1260,7 +1260,8 @@ map.setCenter(new OpenLayers.LonLat(10, 10)); t.ok(layer.backBuffer && layer.backBuffer.parentNode === layer.div, 'backbuffer inserted after map move'); - + t.eq(layer.backBuffer.style.left, '121%'); + t.eq(layer.backBuffer.style.top, '211%'); // zoom map.zoomTo(1); t.eq(layer.backBuffer, null,