Merge remote-tracking branch 'openlayers/master' into vector-api
This commit is contained in:
@@ -12,6 +12,7 @@ var map = new ol.Map({
|
||||
})
|
||||
],
|
||||
renderers: ol.RendererHints.createFromQueryData(),
|
||||
ol3Logo: false,
|
||||
target: 'map',
|
||||
view: new ol.View2D({
|
||||
center: [0, 0],
|
||||
|
||||
BIN
resources/logo-32x32-optimized.png
Normal file
BIN
resources/logo-32x32-optimized.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
resources/logo-32x32.png
Normal file
BIN
resources/logo-32x32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
@@ -31,6 +31,7 @@
|
||||
* @property {ol.Collection|Array.<ol.interaction.Interaction>|undefined} interactions
|
||||
* Interactions that are initially added to the map.
|
||||
* @property {Array.<ol.layer.Base>|ol.Collection|undefined} layers Layers.
|
||||
* @property {boolean|undefined} ol3Logo Show ol3 logo. Default is `true`.
|
||||
* @property {ol.Collection|Array.<ol.Overlay>|undefined} overlays
|
||||
* Overlays initially added to the map.
|
||||
* @property {ol.RendererHint|undefined} renderer Renderer.
|
||||
|
||||
@@ -90,15 +90,25 @@ ol.control.Logo.prototype.updateElement_ = function(frameState) {
|
||||
}
|
||||
}
|
||||
|
||||
var image, logoElement;
|
||||
for (logo in logos) {
|
||||
if (!(logo in logoElements)) {
|
||||
var image, logoElement, logoKey;
|
||||
for (logoKey in logos) {
|
||||
if (!(logoKey in logoElements)) {
|
||||
image = new Image();
|
||||
image.src = logo;
|
||||
logoElement = goog.dom.createElement(goog.dom.TagName.LI);
|
||||
logoElement.appendChild(image);
|
||||
image.src = logoKey;
|
||||
var logoValue = logos[logoKey];
|
||||
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);
|
||||
logoElements[logo] = logoElement;
|
||||
logoElements[logoKey] = logoElement;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ goog.require('ol.layer.LayerState');
|
||||
* index: number,
|
||||
* layersArray: Array.<ol.layer.Layer>,
|
||||
* layerStates: Object.<number, ol.layer.LayerState>,
|
||||
* logos: Object.<string, boolean>,
|
||||
* logos: Object.<string, string>,
|
||||
* pixelToCoordinateMatrix: goog.vec.Mat4.Number,
|
||||
* postRenderFunctions: Array.<ol.PostRenderFunction>,
|
||||
* size: ol.Size,
|
||||
|
||||
@@ -65,6 +65,41 @@ goog.require('ol.structs.PriorityQueue');
|
||||
goog.require('ol.vec.Mat4');
|
||||
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @type {string}
|
||||
*/
|
||||
ol.OL3_URL = 'http://ol3js.org/';
|
||||
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @type {string}
|
||||
*/
|
||||
ol.OL3_LOGO_URL = 'data:image/png;base64,' +
|
||||
'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAA3NCSVQICAjb4U/gAAAACXBI' +
|
||||
'WXMAAAHGAAABxgEXwfpGAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAA' +
|
||||
'AhNQTFRF////AP//AICAgP//AFVVQECA////K1VVSbbbYL/fJ05idsTYJFtbbcjbJllmZszW' +
|
||||
'WMTOIFhoHlNiZszTa9DdUcHNHlNlV8XRIVdiasrUHlZjIVZjaMnVH1RlIFRkH1RkH1ZlasvY' +
|
||||
'asvXVsPQH1VkacnVa8vWIVZjIFRjVMPQa8rXIVVkXsXRsNveIFVkIFZlIVVj3eDeh6GmbMvX' +
|
||||
'H1ZkIFRka8rWbMvXIFVkIFVjIFVkbMvWH1VjbMvWIFVlbcvWIFVla8vVIFVkbMvWbMvVH1Vk' +
|
||||
'bMvWIFVlbcvWIFVkbcvVbMvWjNPbIFVkU8LPwMzNIFVkbczWIFVkbsvWbMvXIFVkRnB8bcvW' +
|
||||
'2+TkW8XRIFVkIlZlJVloJlpoKlxrLl9tMmJwOWd0Omh1RXF8TneCT3iDUHiDU8LPVMLPVcLP' +
|
||||
'VcPQVsPPVsPQV8PQWMTQWsTQW8TQXMXSXsXRX4SNX8bSYMfTYcfTYsfTY8jUZcfSZsnUaIqT' +
|
||||
'acrVasrVa8jTa8rWbI2VbMvWbcvWdJObdcvUdszUd8vVeJaee87Yfc3WgJyjhqGnitDYjaar' +
|
||||
'ldPZnrK2oNbborW5o9bbo9fbpLa6q9ndrL3ArtndscDDutzfu8fJwN7gwt7gxc/QyuHhy+Hi' +
|
||||
'zeHi0NfX0+Pj19zb1+Tj2uXk29/e3uLg3+Lh3+bl4uXj4ufl4+fl5Ofl5ufl5ujm5+jmySDn' +
|
||||
'BAAAAFp0Uk5TAAECAgMEBAYHCA0NDg4UGRogIiMmKSssLzU7PkJJT1JTVFliY2hrdHZ3foSF' +
|
||||
'hYeJjY2QkpugqbG1tre5w8zQ09XY3uXn6+zx8vT09vf4+Pj5+fr6/P39/f3+gz7SsAAAAVVJ' +
|
||||
'REFUOMtjYKA7EBDnwCPLrObS1BRiLoJLnte6CQy8FLHLCzs2QUG4FjZ5GbcmBDDjxJBXDWxC' +
|
||||
'Brb8aM4zbkIDzpLYnAcE9VXlJSWlZRU13koIeW57mGx5XjoMZEUqwxWYQaQbSzLSkYGfKFSe' +
|
||||
'0QMsX5WbjgY0YS4MBplemI4BdGBW+DQ11eZiymfqQuXZIjqwyadPNoSZ4L+0FVM6e+oGI6g8' +
|
||||
'a9iKNT3o8kVzNkzRg5lgl7p4wyRUL9Yt2jAxVh6mQCogae6GmflI8p0r13VFWTHBQ0rWPW7a' +
|
||||
'hgWVcPm+9cuLoyy4kCJDzCm6d8PSFoh0zvQNC5OjDJhQopPPJqph1doJBUD5tnkbZiUEqaCn' +
|
||||
'B3bTqLTFG1bPn71kw4b+GFdpLElKIzRxxgYgWNYc5SCENVHKeUaltHdXx0dZ8uBI1hJ2UUDg' +
|
||||
'q82CM2MwKeibqAvSO7MCABq0wXEPiqWEAAAAAElFTkSuQmCC';
|
||||
|
||||
|
||||
/**
|
||||
* @enum {string}
|
||||
* @todo stability experimental
|
||||
@@ -143,6 +178,12 @@ ol.Map = function(options) {
|
||||
this.devicePixelRatio_ = goog.isDef(options.devicePixelRatio) ?
|
||||
options.devicePixelRatio : ol.BrowserFeature.DEVICE_PIXEL_RATIO;
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.ol3Logo_ = optionsInternal.ol3Logo;
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {goog.async.AnimationDelay}
|
||||
@@ -1087,6 +1128,9 @@ ol.Map.prototype.renderFrame_ = function(time) {
|
||||
viewHints: viewHints,
|
||||
wantedTiles: {}
|
||||
};
|
||||
if (this.ol3Logo_) {
|
||||
frameState.logos[ol.OL3_LOGO_URL] = ol.OL3_URL;
|
||||
}
|
||||
}
|
||||
|
||||
var preRenderFunctions = this.preRenderFunctions_;
|
||||
@@ -1242,6 +1286,7 @@ ol.Map.prototype.withFrozenRendering = function(f, opt_obj) {
|
||||
/**
|
||||
* @typedef {{controls: ol.Collection,
|
||||
* interactions: ol.Collection,
|
||||
* ol3Logo: boolean,
|
||||
* overlays: ol.Collection,
|
||||
* rendererConstructor:
|
||||
* function(new: ol.renderer.Map, Element, ol.Map),
|
||||
@@ -1261,6 +1306,8 @@ ol.Map.createOptionsInternal = function(options) {
|
||||
*/
|
||||
var values = {};
|
||||
|
||||
var ol3Logo = goog.isDef(options.ol3Logo) ? options.ol3Logo : true;
|
||||
|
||||
var layerGroup = (options.layers instanceof ol.layer.Group) ?
|
||||
options.layers : new ol.layer.Group({layers: options.layers});
|
||||
values[ol.MapProperty.LAYERGROUP] = layerGroup;
|
||||
@@ -1348,6 +1395,7 @@ ol.Map.createOptionsInternal = function(options) {
|
||||
return {
|
||||
controls: controls,
|
||||
interactions: interactions,
|
||||
ol3Logo: ol3Logo,
|
||||
overlays: overlays,
|
||||
rendererConstructor: rendererConstructor,
|
||||
values: values
|
||||
|
||||
@@ -162,7 +162,7 @@ ol.renderer.Layer.prototype.updateAttributions =
|
||||
ol.renderer.Layer.prototype.updateLogos = function(frameState, source) {
|
||||
var logo = source.getLogo();
|
||||
if (goog.isDef(logo)) {
|
||||
frameState.logos[logo] = true;
|
||||
frameState.logos[logo] = '';
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -115,8 +115,10 @@ ol.source.BingMaps.prototype.handleImageryMetadataResponse =
|
||||
});
|
||||
})));
|
||||
|
||||
if (resource.imageryProviders) {
|
||||
var transform = ol.proj.getTransformFromProjections(
|
||||
ol.proj.get('EPSG:4326'), this.getProjection());
|
||||
|
||||
var attributions = goog.array.map(
|
||||
resource.imageryProviders,
|
||||
function(imageryProvider) {
|
||||
@@ -146,6 +148,7 @@ ol.source.BingMaps.prototype.handleImageryMetadataResponse =
|
||||
});
|
||||
attributions.push(ol.source.BingMaps.TOS_ATTRIBUTION);
|
||||
this.setAttributions(attributions);
|
||||
}
|
||||
|
||||
this.setLogo(brandLogoUri);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user