Added a pixelRatio adjust to the canvasTileLayer 'forEachLayerAtPixel' method

This method was composing a frame that was only accurate for devices
with a pixelRatio of 1. Now the canvas widths and heights are
multiplied beforehand by the pixelRatio. #5601
This commit is contained in:
Benjamin
2016-08-15 10:15:17 -04:00
parent 3dd21af721
commit c3b66743fe

View File

@@ -198,8 +198,9 @@ ol.renderer.canvas.TileLayer.prototype.forEachLayerAtPixel = function(
pixel, frameState, callback, thisArg) {
var canvas = this.context.canvas;
var size = frameState.size;
canvas.width = size[0];
canvas.height = size[1];
var pixelRatio = frameState.pixelRatio;
canvas.width = size[0] * pixelRatio;
canvas.height = size[1] * pixelRatio;
this.composeFrame(frameState, this.getLayer().getLayerState(), this.context);
var imageData = this.context.getImageData(