diff --git a/frontend-js/src/main/js/map/AbstractCustomMap.js b/frontend-js/src/main/js/map/AbstractCustomMap.js index 348f6818ee36701c619801c454655da80eb9bb36..c5387bf2af597b16963a46577f7eb54cad7b9e68 100644 --- a/frontend-js/src/main/js/map/AbstractCustomMap.js +++ b/frontend-js/src/main/js/map/AbstractCustomMap.js @@ -1081,11 +1081,15 @@ AbstractCustomMap.prototype.setZoom = function (zoom) { if (this.initialized) { return Promise.resolve(this.getGoogleMap().setZoom(zoom)); } else { - logger.warn("cannot center map that is not opened yet"); + logger.warn("cannot change zoom for map that is not opened yet"); return Promise.resolve(); } }; +AbstractCustomMap.prototype.getZoom = function () { + return this.getGoogleMap().getZoom() +}; + AbstractCustomMap.prototype.fitBounds = function (markers) { var self = this; var map = self.getGoogleMap(); diff --git a/frontend-js/src/main/js/plugin/MinervaPluginProxy.js b/frontend-js/src/main/js/plugin/MinervaPluginProxy.js index 672a15930285871e5afaa19448fa2215f087eaef..40eeb4fb94da9762fb1bc48a7047cff1760070af 100644 --- a/frontend-js/src/main/js/plugin/MinervaPluginProxy.js +++ b/frontend-js/src/main/js/plugin/MinervaPluginProxy.js @@ -423,6 +423,13 @@ function createProjectMap(options) { } return submap.setZoom(params.zoom); }, + getZoom: function (params) { + var submap = map.getSubmapById(params.modelId); + if (submap === null) { + throw new Error("Unknown modelId: " + params.modelId); + } + return submap.getZoom(); + }, openMap: function (params) { return map.openSubmap(params.id); } diff --git a/frontend-js/src/test/js/plugin/MinervaPluginProxy-test.js b/frontend-js/src/test/js/plugin/MinervaPluginProxy-test.js index 2e561621db6e8d8622ab979eca261deb319824d4..f6ff68f9fdaa3f4b893e05e9d7c37ac4ec207f1d 100644 --- a/frontend-js/src/test/js/plugin/MinervaPluginProxy-test.js +++ b/frontend-js/src/test/js/plugin/MinervaPluginProxy-test.js @@ -328,6 +328,23 @@ describe('MinervaPluginProxy', function () { }); }); + it("getZoom", function () { + var map, proxy; + return ServerConnector.getProject().then(function (project) { + map = helper.createCustomMap(project); + proxy = createProxy(map); + return proxy.project.map.setZoom({ + modelId: 15781, + zoom: 10 + }); + }).then(function () { + var zoom = proxy.project.map.getZoom({modelId: 15781}); + assert.equal(zoom, 10); + }).then(function () { + map.destroy(); + }); + }); + it("getReactionByParticipantId", function () { var ie = { modelId: 15781,