FredJ reviewed my work here and said it solved the problem that he reopened
103 for (specifically, that baselayer changes always resulted in a null attribution string), and fixes spelling. This commit makes the attribution control work and stuff. (Closes #103) git-svn-id: http://svn.openlayers.org/trunk/openlayers@4237 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -16,7 +16,7 @@ OpenLayers.Control.Attribution =
|
||||
* APIProperty: seperator
|
||||
* {String} String used to seperate layers.
|
||||
*/
|
||||
seperator: ", ",
|
||||
separator: ", ",
|
||||
|
||||
/**
|
||||
* Constructor: OpenLayers.Control.Attribution
|
||||
@@ -36,6 +36,7 @@ OpenLayers.Control.Attribution =
|
||||
this.map.events.unregister("removelayer", this, this.updateAttribution);
|
||||
this.map.events.unregister("addlayer", this, this.updateAttribution);
|
||||
this.map.events.unregister("changelayer", this, this.updateAttribution);
|
||||
this.map.events.unregister("changebaselayer", this, this.updateAttribution);
|
||||
|
||||
OpenLayers.Control.prototype.destroy.apply(this, arguments);
|
||||
},
|
||||
@@ -50,6 +51,7 @@ OpenLayers.Control.Attribution =
|
||||
draw: function() {
|
||||
OpenLayers.Control.prototype.draw.apply(this, arguments);
|
||||
|
||||
this.map.events.register('changebaselayer', this, this.updateAttribution);
|
||||
this.map.events.register('changelayer', this, this.updateAttribution);
|
||||
this.map.events.register('addlayer', this, this.updateAttribution);
|
||||
this.map.events.register('removelayer', this, this.updateAttribution);
|
||||
@@ -70,7 +72,7 @@ OpenLayers.Control.Attribution =
|
||||
attributions.push( layer.attribution );
|
||||
}
|
||||
}
|
||||
this.div.innerHTML = attributions.join(this.seperator);
|
||||
this.div.innerHTML = attributions.join(this.separator);
|
||||
},
|
||||
|
||||
/** @final @type String */
|
||||
|
||||
@@ -10,6 +10,16 @@
|
||||
t.ok( control instanceof OpenLayers.Control.Attribution, "new OpenLayers.Control returns object" );
|
||||
t.eq( control.displayClass, "olControlAttribution", "displayClass is correct" );
|
||||
}
|
||||
function test_Control_Attribution_setBaseLayer (t) {
|
||||
t.plan(1);
|
||||
map = new OpenLayers.Map("map");
|
||||
map.addControl(control);
|
||||
map.addLayer(new OpenLayers.Layer("name",{'attribution':'My layer!', isBaseLayer: true}));
|
||||
map.addLayer(new OpenLayers.Layer("name",{'attribution':'My layer 2!', isBaseLayer: true}));
|
||||
map.setBaseLayer(map.layers[1]);
|
||||
t.eq(control.div.innerHTML, 'My layer 2!', "Attribution correct with changed base layer");
|
||||
|
||||
}
|
||||
function test_Control_Attribution_draw (t) {
|
||||
t.plan(3);
|
||||
control = new OpenLayers.Control.Attribution();
|
||||
@@ -19,9 +29,11 @@
|
||||
t.eq(control.div.innerHTML, 'My layer!', "Attribution correct with one layer.");
|
||||
map.addLayer(new OpenLayers.Layer("name", {'attribution':'My layer 2!'}));
|
||||
t.eq(control.div.innerHTML, 'My layer!, My layer 2!', "Attribution correct with two layers.");
|
||||
control.seperator = '|';
|
||||
control.separator = '|';
|
||||
map.addLayer(new OpenLayers.Layer("name",{'attribution':'My layer 3!'}));
|
||||
t.eq(control.div.innerHTML, 'My layer!|My layer 2!|My layer 3!', "Attribution correct with three layers and diff seperator.");
|
||||
|
||||
|
||||
}
|
||||
// -->
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user