diff --git a/rendering/cases/map-text-align/expected.png b/rendering/cases/map-text-align/expected.png new file mode 100644 index 0000000000..fea6e18ef3 Binary files /dev/null and b/rendering/cases/map-text-align/expected.png differ diff --git a/rendering/cases/map-text-align/index.html b/rendering/cases/map-text-align/index.html new file mode 100644 index 0000000000..8e0a85055f --- /dev/null +++ b/rendering/cases/map-text-align/index.html @@ -0,0 +1,26 @@ + + +
+ + + + + + + + diff --git a/rendering/cases/map-text-align/main.js b/rendering/cases/map-text-align/main.js new file mode 100644 index 0000000000..723ac2dabc --- /dev/null +++ b/rendering/cases/map-text-align/main.js @@ -0,0 +1,24 @@ +import Map from '../../../src/ol/Map.js'; +import View from '../../../src/ol/View.js'; +import TileLayer from '../../../src/ol/layer/Tile.js'; +import {fromLonLat} from '../../../src/ol/proj.js'; +import XYZ from '../../../src/ol/source/XYZ.js'; + + +new Map({ + layers: [ + new TileLayer({ + source: new XYZ({ + url: '/data/tiles/satellite/{z}/{x}/{y}.jpg' + }) + }) + ], + target: 'map', + view: new View({ + rotation: Math.PI / 3, + center: fromLonLat([8.6, 50.1]), + zoom: 3 + }) +}); + +render(); diff --git a/src/ol/renderer/canvas/Layer.js b/src/ol/renderer/canvas/Layer.js index 39d8ce195e..47223a9fea 100644 --- a/src/ol/renderer/canvas/Layer.js +++ b/src/ol/renderer/canvas/Layer.js @@ -109,6 +109,7 @@ class CanvasLayerRenderer extends LayerRenderer { container.appendChild(canvas); style = canvas.style; style.position = 'absolute'; + style.left = '0'; style.transformOrigin = 'top left'; this.container = container; this.context = context; diff --git a/src/ol/renderer/canvas/VectorTileLayer.js b/src/ol/renderer/canvas/VectorTileLayer.js index c84d44ff38..12cbaf72f7 100644 --- a/src/ol/renderer/canvas/VectorTileLayer.js +++ b/src/ol/renderer/canvas/VectorTileLayer.js @@ -138,6 +138,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer { const overlayContext = createCanvasContext2D(); const style = overlayContext.canvas.style; style.position = 'absolute'; + style.left = '0'; style.transformOrigin = 'top left'; this.overlayContext_ = overlayContext; this.overlayContextUid_ = getUid(overlayContext); diff --git a/src/ol/webgl/Helper.js b/src/ol/webgl/Helper.js index 517edac2b2..04c6eee152 100644 --- a/src/ol/webgl/Helper.js +++ b/src/ol/webgl/Helper.js @@ -247,6 +247,7 @@ class WebGLHelper extends Disposable { */ this.canvas_ = document.createElement('canvas'); this.canvas_.style.position = 'absolute'; + this.canvas_.style.left = '0'; /**