Fix ka-Map's clone method, to fix bug with Overview Map reported by Stephen
Woodbridge. (Thx Stephen.) git-svn-id: http://svn.openlayers.org/trunk/openlayers@3087 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -145,6 +145,36 @@ OpenLayers.Layer.KaMap.prototype =
|
||||
this.spiralTileLoad();
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {Object} obj
|
||||
*
|
||||
* @returns An exact clone of this OpenLayers.Layer.Grid
|
||||
* @type OpenLayers.Layer.Grid
|
||||
*/
|
||||
clone: function (obj) {
|
||||
|
||||
if (obj == null) {
|
||||
obj = new OpenLayers.Layer.KaMap(this.name,
|
||||
this.url,
|
||||
this.params,
|
||||
this.options);
|
||||
}
|
||||
|
||||
//get all additions from superclasses
|
||||
obj = OpenLayers.Layer.Grid.prototype.clone.apply(this, [obj]);
|
||||
|
||||
// copy/set any non-init, non-simple values here
|
||||
if (this.tileSize != null) {
|
||||
obj.tileSize = this.tileSize.clone();
|
||||
}
|
||||
|
||||
// we do not want to copy reference to grid, so we make a new array
|
||||
obj.grid = new Array();
|
||||
|
||||
return obj;
|
||||
},
|
||||
|
||||
|
||||
/** @final @type String */
|
||||
CLASS_NAME: "OpenLayers.Layer.KaMap"
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
*/
|
||||
|
||||
function test_10_Layer_KaMap_clone(t) {
|
||||
t.plan(4);
|
||||
t.plan(5);
|
||||
|
||||
var options = {tileSize: new OpenLayers.Size(500,50)};
|
||||
var map = new OpenLayers.Map('map', options);
|
||||
@@ -168,6 +168,8 @@
|
||||
t.eq( clone.tileSize.w, 500, "changing layer.tileSize does not change clone.tileSize -- a fresh copy was made, not just copied reference");
|
||||
|
||||
t.eq( clone.alpha, layer.alpha, "alpha copied correctly");
|
||||
|
||||
t.eq( clone.CLASS_NAME, "OpenLayers.Layer.KaMap", "Clone is a ka-map layer");
|
||||
|
||||
layer.grid = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user