From bd24614c9d6ff51f9e7040df34a506a76da351d2 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 9 Jun 2017 17:05:59 +0200
Subject: [PATCH] fitBounds function for JS API

---
 frontend-js/src/main/js/minerva.js | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js
index e1d88cbbbd..6b9e3d5a84 100644
--- a/frontend-js/src/main/js/minerva.js
+++ b/frontend-js/src/main/js/minerva.js
@@ -229,7 +229,6 @@ function getElements(elementIdentifiers, customMap) {
 }
 
 function getReactionsForElements(elementIdentifiers, customMap) {
-
   var elementsByModelId = [];
   for (var i = 0; i < elementIdentifiers.length; i++) {
     var identifiedElement = new IdentifiedElement(elementIdentifiers[i]);
@@ -369,6 +368,20 @@ function createResult(customMap) {
       }
       return submap.setCenter(new google.maps.Point(params.x, params.y));
     },
+    fitBounds : function(params) {
+      var submap = customMap.getSubmapById(params.modelId);
+      if (submap === null) {
+        throw new Error("Unknown modelId: " + params.modelId);
+      }
+      var p1 = new google.maps.Point(params.x1, params.y1);
+      var p2 = new google.maps.Point(params.x2, params.y2);
+      var latLng1 = submap.fromPointToLatLng(p1);
+      var latLng2 = submap.fromPointToLatLng(p2);
+      var bounds = new google.maps.LatLngBounds();
+      bounds.extend(latLng1);
+      bounds.extend(latLng2);
+      return submap.getGoogleMap().fitBounds(bounds);
+    },
     setZoom : function(params) {
       var submap = customMap.getSubmapById(params.modelId);
       if (submap === null) {
-- 
GitLab