diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js index e1d88cbbbd74e3454ecb77a0e2e16043bd8c235e..6b9e3d5a84a428cb5c61c78fbd1fe751269f6c16 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) {