From 3374301864748732305a1df76007bcf40986580d Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Thu, 5 Jul 2018 11:50:38 +0200 Subject: [PATCH] when the map is wrapped bounds returns whole canvas --- frontend-js/src/main/js/map/AbstractCustomMap.js | 2 +- .../src/main/js/map/canvas/OpenLayers/OpenLayerCanvas.js | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/frontend-js/src/main/js/map/AbstractCustomMap.js b/frontend-js/src/main/js/map/AbstractCustomMap.js index 053a5c31af..967fff2cb0 100644 --- a/frontend-js/src/main/js/map/AbstractCustomMap.js +++ b/frontend-js/src/main/js/map/AbstractCustomMap.js @@ -190,7 +190,7 @@ AbstractCustomMap.prototype.registerMapClickEvents = function () { var polygon = ""; polygon += x1 + "," + y1 + ";"; - polygon += x2 + "," + y2 + ";"; + polygon += x2 + "," + y1 + ";"; polygon += x2 + "," + y2 + ";"; polygon += x1 + "," + y2 + ";"; self.getTopMap().setSelectedPolygon(polygon); diff --git a/frontend-js/src/main/js/map/canvas/OpenLayers/OpenLayerCanvas.js b/frontend-js/src/main/js/map/canvas/OpenLayers/OpenLayerCanvas.js index 4cac45d328..968ad1422a 100644 --- a/frontend-js/src/main/js/map/canvas/OpenLayers/OpenLayerCanvas.js +++ b/frontend-js/src/main/js/map/canvas/OpenLayers/OpenLayerCanvas.js @@ -425,7 +425,14 @@ OpenLayerCanvas.prototype.getBounds = function () { if (p1.x > maxWidth / 2) { p1.x -= maxWidth; } - return new Bounds(p1, p2); + var bounds = new Bounds(p1, p2); + //if the world is wrapped (it's a workaround and might not work for browser with huge resolution) + if (!bounds.contains(self.getCenter())) { + p1.x = -maxWidth / 2; + p2.x = maxWidth / 2; + bounds = new Bounds(p1, p2) + } + return bounds; }; OpenLayerCanvas.prototype.turnOnDrawing = function () { -- GitLab