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();
|
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 */
|
/** @final @type String */
|
||||||
CLASS_NAME: "OpenLayers.Layer.KaMap"
|
CLASS_NAME: "OpenLayers.Layer.KaMap"
|
||||||
|
|||||||
@@ -147,7 +147,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function test_10_Layer_KaMap_clone(t) {
|
function test_10_Layer_KaMap_clone(t) {
|
||||||
t.plan(4);
|
t.plan(5);
|
||||||
|
|
||||||
var options = {tileSize: new OpenLayers.Size(500,50)};
|
var options = {tileSize: new OpenLayers.Size(500,50)};
|
||||||
var map = new OpenLayers.Map('map', options);
|
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.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.alpha, layer.alpha, "alpha copied correctly");
|
||||||
|
|
||||||
|
t.eq( clone.CLASS_NAME, "OpenLayers.Layer.KaMap", "Clone is a ka-map layer");
|
||||||
|
|
||||||
layer.grid = null;
|
layer.grid = null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user