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