From f892d5fe2123f2a3afb8ceea179b5efb9e86b18f Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Fri, 16 Jun 2017 09:31:16 +0200 Subject: [PATCH] surface highlighted from JS API can have lineWeight, lineOpacity, lineColor properties --- .../src/main/js/map/data/IdentifiedElement.js | 22 +++++++++++++++---- .../src/main/js/map/overlay/AliasOverlay.js | 22 ++++++++++++++++--- .../src/main/js/map/overlay/UserDbOverlay.js | 7 +++--- 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/frontend-js/src/main/js/map/data/IdentifiedElement.js b/frontend-js/src/main/js/map/data/IdentifiedElement.js index f2853a935f..56d382f1fd 100644 --- a/frontend-js/src/main/js/map/data/IdentifiedElement.js +++ b/frontend-js/src/main/js/map/data/IdentifiedElement.js @@ -176,12 +176,26 @@ IdentifiedElement.prototype.setOpacity = function(opacity) { this._visualizationdata._opacity = opacity; }; -IdentifiedElement.prototype.getLineWidth = function() { - return this._visualizationdata._lineWidth; +IdentifiedElement.prototype.getLineWeight = function() { + return this._visualizationdata._lineWeight; }; -IdentifiedElement.prototype.setLineWidth = function(lineWidth) { - this._visualizationdata._lineWidth = lineWidth; +IdentifiedElement.prototype.setLineWeight = function(lineWeight) { + this._visualizationdata._lineWeight = lineWeight; +}; +IdentifiedElement.prototype.getLineOpacity = function() { + return this._visualizationdata._lineOpacity; +}; + +IdentifiedElement.prototype.setLineOpacity = function(lineOpacity) { + this._visualizationdata._lineOpacity = lineOpacity; +}; +IdentifiedElement.prototype.getLineColor = function() { + return this._visualizationdata._lineColor; +}; + +IdentifiedElement.prototype.setLineColor = function(lineColor) { + this._visualizationdata._lineColor = lineColor; }; IdentifiedElement.prototype.getOnClickHandler = function() { diff --git a/frontend-js/src/main/js/map/overlay/AliasOverlay.js b/frontend-js/src/main/js/map/overlay/AliasOverlay.js index 1caa514e90..144ebd50c5 100644 --- a/frontend-js/src/main/js/map/overlay/AliasOverlay.js +++ b/frontend-js/src/main/js/map/overlay/AliasOverlay.js @@ -141,12 +141,28 @@ AliasOverlay.createFromIdentifiedElement = function(element, map) { if (element.getOpacity() !== undefined) { fillOpacity = element.getOpacity(); } + var strokeWeight = 1; + if (element.getLineWeight() !== undefined) { + strokeWeight = element.getLineWeight(); + } + var strokeColor = "#000000"; + if (element.getLineColor() !== undefined) { + strokeColor = element.getLineColor(); + } + var strokeOpacity = 1; + if (element.getLineOpacity() !== undefined) { + strokeOpacity = element.getLineOpacity(); + } + var rectangle = new google.maps.Rectangle({ - fillOpacity : fillOpacity, - strokeWeight : 1, map : map.getGoogleMap(), bounds : bounds, - fillColor : color + + fillOpacity : fillOpacity, + fillColor : color, + strokeColor : strokeColor, + strokeOpacity : strokeOpacity, + strokeWeight : strokeWeight, }); return new AliasOverlay(rectangle, map, alias); diff --git a/frontend-js/src/main/js/map/overlay/UserDbOverlay.js b/frontend-js/src/main/js/map/overlay/UserDbOverlay.js index b37f17313d..47b59846d0 100644 --- a/frontend-js/src/main/js/map/overlay/UserDbOverlay.js +++ b/frontend-js/src/main/js/map/overlay/UserDbOverlay.js @@ -49,9 +49,7 @@ UserDbOverlay.prototype.addMarker = function(params) { for (i = 0; i < params.length; i++) { var singleElementParam = params[i]; element = new IdentifiedElement(singleElementParam.element); - if (singleElementParam.icon !== undefined) { - element.setIcon(singleElementParam.icon); - } + element.setIcon(singleElementParam.icon); if (self._markerIdentifiedElements[element.getType()][element.getId()] !== undefined) { self.enableAddRemoveElements(); return Promise.reject(new Error("Element already highlighted: " + element.getId())); @@ -87,6 +85,9 @@ UserDbOverlay.prototype.addSurface = function(params) { if (singleElementParam.options !== undefined) { element.setColor(singleElementParam.options.color); element.setOpacity(singleElementParam.options.opacity); + element.setLineColor(singleElementParam.options.lineColor); + element.setLineWeight(singleElementParam.options.lineWeight); + element.setLineOpacity(singleElementParam.options.lineOpacity); } if (self._surfaceIdentifiedElements[element.getType()][element.getId()] !== undefined) { self.enableAddRemoveElements(); -- GitLab