Add optional URL for logos
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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] = '';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user