diff --git a/src/ol/renderer/layer.js b/src/ol/renderer/layer.js index 8a7483972a..f6c603b8a4 100644 --- a/src/ol/renderer/layer.js +++ b/src/ol/renderer/layer.js @@ -254,21 +254,6 @@ ol.renderer.Layer.prototype.updateUsedTiles = function(usedTiles, tileSource, z, }; -/** - * @param {ol.Coordinate} center Center. - * @param {number} resolution Resolution. - * @param {ol.Size} size Size. - * @protected - * @return {ol.Coordinate} Snapped center. - */ -ol.renderer.Layer.prototype.snapCenterToPixel = function(center, resolution, size) { - return [ - resolution * (Math.round(center[0] / resolution) + (size[0] % 2) / 2), - resolution * (Math.round(center[1] / resolution) + (size[1] % 2) / 2) - ]; -}; - - /** * Manage tile pyramid. * This function performs a number of functions related to the tiles at the diff --git a/src/ol/renderer/webgl/tilelayer.js b/src/ol/renderer/webgl/tilelayer.js index 248a3e27ca..80fb488e18 100644 --- a/src/ol/renderer/webgl/tilelayer.js +++ b/src/ol/renderer/webgl/tilelayer.js @@ -164,14 +164,7 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame = function(frameState, layerS var tileGutter = frameState.pixelRatio * tileSource.getGutter(projection); var center = viewState.center; - var extent; - if (tileResolution == viewState.resolution) { - center = this.snapCenterToPixel(center, tileResolution, frameState.size); - extent = ol.extent.getForViewAndSize( - center, tileResolution, viewState.rotation, frameState.size); - } else { - extent = frameState.extent; - } + var extent = frameState.extent; var tileRange = tileGrid.getTileRangeForExtentAndResolution( extent, tileResolution); @@ -346,9 +339,9 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame = function(frameState, layerS var texCoordMatrix = this.texCoordMatrix; ol.transform.reset(texCoordMatrix); ol.transform.translate(texCoordMatrix, - (center[0] - framebufferExtent[0]) / + (Math.round(center[0] / tileResolution) * tileResolution - framebufferExtent[0]) / (framebufferExtent[2] - framebufferExtent[0]), - (center[1] - framebufferExtent[1]) / + (Math.round(center[1] / tileResolution) * tileResolution - framebufferExtent[1]) / (framebufferExtent[3] - framebufferExtent[1])); if (viewState.rotation !== 0) { ol.transform.rotate(texCoordMatrix, viewState.rotation);