Add optional URL for logos

This commit is contained in:
Tom Payne
2014-01-10 22:44:56 +01:00
parent 339c6d3b5b
commit e4b815d4d6
3 changed files with 19 additions and 9 deletions
+17 -7
View File
@@ -90,15 +90,25 @@ ol.control.Logo.prototype.updateElement_ = function(frameState) {
} }
} }
var image, logoElement; var image, logoElement, logoKey;
for (logo in logos) { for (logoKey in logos) {
if (!(logo in logoElements)) { if (!(logoKey in logoElements)) {
image = new Image(); image = new Image();
image.src = logo; image.src = logoKey;
logoElement = goog.dom.createElement(goog.dom.TagName.LI); var logoValue = logos[logoKey];
logoElement.appendChild(image); var child;
if (logoValue === '') {
child = image;
} else {
child = goog.dom.createDom(goog.dom.TagName.A, {
'href': logoValue,
'target': '_blank'
});
child.appendChild(image);
}
logoElement = goog.dom.createDom(goog.dom.TagName.LI, undefined, child);
goog.dom.appendChild(this.ulElement_, logoElement); goog.dom.appendChild(this.ulElement_, logoElement);
logoElements[logo] = logoElement; logoElements[logoKey] = logoElement;
} }
} }
+1 -1
View File
@@ -25,7 +25,7 @@ goog.require('ol.layer.LayerState');
* index: number, * index: number,
* layersArray: Array.<ol.layer.Layer>, * layersArray: Array.<ol.layer.Layer>,
* layerStates: Object.<number, ol.layer.LayerState>, * layerStates: Object.<number, ol.layer.LayerState>,
* logos: Object.<string, boolean>, * logos: Object.<string, string>,
* pixelToCoordinateMatrix: goog.vec.Mat4.Number, * pixelToCoordinateMatrix: goog.vec.Mat4.Number,
* postRenderFunctions: Array.<ol.PostRenderFunction>, * postRenderFunctions: Array.<ol.PostRenderFunction>,
* size: ol.Size, * size: ol.Size,
+1 -1
View File
@@ -175,7 +175,7 @@ ol.renderer.Layer.prototype.updateAttributions =
ol.renderer.Layer.prototype.updateLogos = function(frameState, source) { ol.renderer.Layer.prototype.updateLogos = function(frameState, source) {
var logo = source.getLogo(); var logo = source.getLogo();
if (goog.isDef(logo)) { if (goog.isDef(logo)) {
frameState.logos[logo] = true; frameState.logos[logo] = '';
} }
}; };