From 8eb48604e9b12ce8014dae5efea7f3dc7d8844ac Mon Sep 17 00:00:00 2001 From: ahocevar Date: Wed, 14 Nov 2018 19:28:09 +0100 Subject: [PATCH] Round tile x and y and reuse w and h --- src/ol/renderer/canvas/TileLayer.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ol/renderer/canvas/TileLayer.js b/src/ol/renderer/canvas/TileLayer.js index 7cf15caaa8..250f4fb632 100644 --- a/src/ol/renderer/canvas/TileLayer.js +++ b/src/ol/renderer/canvas/TileLayer.js @@ -267,15 +267,15 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer { const currentTilePixelSize = tileSource.getTilePixelSize(currentZ, pixelRatio, projection); const currentResolution = tileGrid.getResolution(currentZ); const currentScale = currentResolution / tileResolution; + const w = currentTilePixelSize[0] * currentScale; + const h = currentTilePixelSize[1] * currentScale; const tileGutter = tilePixelRatio * tileSource.getGutterForProjection(projection); const tilesToDraw = tilesToDrawByZ[currentZ]; for (const tileCoordKey in tilesToDraw) { const tile = tilesToDraw[tileCoordKey]; const tileExtent = tileGrid.getTileCoordExtent(tile.getTileCoord(), tmpExtent); - const x = tilePixelRatio * (tileExtent[0] - canvasExtent[0]) / tileResolution; - const y = tilePixelRatio * (canvasExtent[3] - tileExtent[3]) / tileResolution; - const w = currentTilePixelSize[0] * currentScale; - const h = currentTilePixelSize[1] * currentScale; + const x = Math.round(tilePixelRatio * (tileExtent[0] - canvasExtent[0]) / tileResolution); + const y = Math.round(tilePixelRatio * (canvasExtent[3] - tileExtent[3]) / tileResolution); this.drawTileImage(tile, frameState, layerState, x, y, w, h, tileGutter, z === currentZ); this.renderedTiles.push(tile); }