diff --git a/lib/OpenLayers/Layer/WFS.js b/lib/OpenLayers/Layer/WFS.js index 15ae6a8e09..3a04911393 100644 --- a/lib/OpenLayers/Layer/WFS.js +++ b/lib/OpenLayers/Layer/WFS.js @@ -66,7 +66,8 @@ OpenLayers.Layer.WFS.prototype = addTile:function(bounds, position) { url = this.getFullRequestString( { bbox:bounds.toBBOX() }); - var tile = new OpenLayers.Tile.WFS(this, bounds, url, this.tileSize); + var tile = new OpenLayers.Tile.WFS(this, position, bounds, + url, this.tileSize); tile.draw(); return tile; }, diff --git a/lib/OpenLayers/Layer/WMS.js b/lib/OpenLayers/Layer/WMS.js index 9bdeed6135..0c82317ef4 100644 --- a/lib/OpenLayers/Layer/WMS.js +++ b/lib/OpenLayers/Layer/WMS.js @@ -58,9 +58,9 @@ OpenLayers.Layer.WMS.prototype = {bbox:bounds.toBBOX(), width:this.tileSize.w, height:this.tileSize.h}); - var tile = new OpenLayers.Tile.Image(this, bounds, url, this.tileSize); + var tile = new OpenLayers.Tile.Image(this, position, bounds, + url, this.tileSize); tile.draw(); - tile.setPosition(position); this.div.appendChild(tile.img); return tile; }, diff --git a/lib/OpenLayers/Tile.js b/lib/OpenLayers/Tile.js index 5452d7cf94..fae1c7a923 100644 --- a/lib/OpenLayers/Tile.js +++ b/lib/OpenLayers/Tile.js @@ -30,15 +30,17 @@ OpenLayers.Tile.prototype = { * @constructor * * @param {OpenLayers.Layer} layer + * @param {OpenLayers.Pixel} position * @param {OpenLayers.Bounds} bounds * @param {String} url * @param {OpenLayers.Size} size */ - initialize: function(layer, bounds, url, size) { + initialize: function(layer, position, bounds, url, size) { if (arguments.length > 0) { this.layer = layer; - this.url = url; + this.position = position; this.bounds = bounds; + this.url = url; this.size = size; } }, @@ -67,15 +69,6 @@ OpenLayers.Tile.prototype = { remove:function() { }, - /** This should be overridden by subclasses if they have special needs - * - * @param OpenLayers.Pixel - */ - setPosition:function(pixel) { - this.position = pixel; - }, - - /** * @type OpenLayers.Pixel */ diff --git a/lib/OpenLayers/Tile/Image.js b/lib/OpenLayers/Tile/Image.js index 902cf8b531..50aef912d6 100644 --- a/lib/OpenLayers/Tile/Image.js +++ b/lib/OpenLayers/Tile/Image.js @@ -12,12 +12,13 @@ OpenLayers.Tile.Image.prototype = /** * @constructor * - * @param {OpenLayers.Grid} grid + * @param {OpenLayers.Grid} layer + * @param {OpenLayers.Pixel} position * @param {OpenLayers.Bounds} bounds * @param {String} url * @param {OpenLayers.Size} size */ - initialize: function(grid, bounds, url, size) { + initialize: function(layer, position, bounds, url, size) { OpenLayers.Tile.prototype.initialize.apply(this, arguments); }, @@ -26,25 +27,12 @@ OpenLayers.Tile.Image.prototype = draw:function() { OpenLayers.Tile.prototype.draw.apply(this, arguments); this.img = OpenLayers.Util.createImage(null, - null, + this.position, this.size, this.url, "absolute"); }, - /** - * @param OpenLayers.Pixel - */ - setPosition:function(pixel) { - OpenLayers.Tile.prototype.setPosition.apply(this, arguments); - - //update the image's location - if (this.img) { - this.img.style.top = this.position.y + "px"; - this.img.style.left = this.position.x + "px"; - } - }, - /** @final @type String */ CLASS_NAME: "OpenLayers.Tile.Image" } diff --git a/lib/OpenLayers/Tile/WFS.js b/lib/OpenLayers/Tile/WFS.js index d206f3ce38..2c42f0cc57 100644 --- a/lib/OpenLayers/Tile/WFS.js +++ b/lib/OpenLayers/Tile/WFS.js @@ -16,12 +16,13 @@ OpenLayers.Tile.WFS.prototype = /** * @constructor * - * @param {OpenLayers.Grid} grid + * @param {OpenLayers.Layer} layer + * @param {OpenLayers.Pixel} position * @param {OpenLayers.Bounds} bounds * @param {String} url * @param {OpenLayers.Size} size */ - initialize: function(grid, bounds, url, size) { + initialize: function(layer, position, bounds, url, size) { OpenLayers.Tile.prototype.initialize.apply(this, arguments); this.markers = new Array(); @@ -37,12 +38,6 @@ OpenLayers.Tile.WFS.prototype = this.loadFeaturesForRegion("requestSuccess"); }, - /** - * @param OpenLayers.Pixel - */ - setPosition:function(pixel) { - this.position = pixel; - }, /** get the full request string from the ds and the tile params * and call the AJAX loadURL(). diff --git a/tests/test_Tile.html b/tests/test_Tile.html index 8e27098685..fe8dce1f55 100644 --- a/tests/test_Tile.html +++ b/tests/test_Tile.html @@ -5,21 +5,22 @@ var tile; function test_01_Tile_constructor (t) { - t.plan( 9 ); - tile = new OpenLayers.Tile(null, - new OpenLayers.Bounds(1,2,3,4), - "", - new OpenLayers.Size(5,6) ); + t.plan( 6 ); + + var layer = new Object(); // bogus layer + var position = new OpenLayers.Pixel(10,20); + var bounds = new OpenLayers.Bounds(1,2,3,4); + var url = "bobob"; + var size = new OpenLayers.Size(5,6); + + tile = new OpenLayers.Tile(layer, position, bounds, url, size); t.ok( tile instanceof OpenLayers.Tile, "new OpenLayers.Tile returns Tile object" ); - t.ok( tile.bounds instanceof OpenLayers.Bounds, "tile.bounds is a Bounds object" ); - t.eq( tile.bounds.left, 1, "tile.bounds.left is set correctly"); - t.eq( tile.bounds.bottom, 2, "tile.bounds.bottom is set correctly"); - t.eq( tile.bounds.right, 3, "tile.bounds.right is set correctly"); - t.eq( tile.bounds.top, 4, "tile.bounds.top is set correctly"); - t.ok( tile.size instanceof OpenLayers.Size, "tile.size is a Size object" ); - t.eq( tile.size.w, 5, "tile.size.w is set correctly"); - t.eq( tile.size.h, 6, "tile.size.h is set correctly"); + t.eq( tile.layer, layer, "tile.layer set correctly"); + t.ok( tile.position.equals(position), "tile.position set correctly"); + t.ok( tile.bounds.equals(bounds), "tile.bounds set correctly"); + t.eq( tile.url, url, "tile.url set correctly"); + t.ok( tile.size.equals(size), "tile.size is set correctly" ); } diff --git a/tests/test_Tile_Image.html b/tests/test_Tile_Image.html index 9d92a9339c..0f94a06bfd 100644 --- a/tests/test_Tile_Image.html +++ b/tests/test_Tile_Image.html @@ -6,28 +6,32 @@ var tile; function test_01_Tile_Image_constructor (t) { - t.plan( 10 ); - tile = new OpenLayers.Tile.Image(null, - new OpenLayers.Bounds(1,2,3,4), - "http://www.openlayers.org/dev/tests/tileimage", - new OpenLayers.Size(5,6) ); + t.plan( 6 ); + + var layer = new Object(); //bogus layer + var position = new OpenLayers.Pixel(20,30); + var bounds = new OpenLayers.Bounds(1,2,3,4); + var url = "http://www.openlayers.org/dev/tests/tileimage"; + var size = new OpenLayers.Size(5,6); + tile = new OpenLayers.Tile.Image(layer, position, bounds, url, size); + t.ok( tile instanceof OpenLayers.Tile.Image, "new OpenLayers.Tile returns Tile object" ); - t.ok( tile.bounds instanceof OpenLayers.Bounds, "tile.bounds is a Bounds object" ); - t.eq( tile.bounds.left, 1, "tile.bounds.left is set correctly"); - t.eq( tile.bounds.bottom, 2, "tile.bounds.bottom is set correctly"); - t.eq( tile.bounds.right, 3, "tile.bounds.right is set correctly"); - t.eq( tile.bounds.top, 4, "tile.bounds.top is set correctly"); - t.ok( tile.size instanceof OpenLayers.Size, "tile.size is a Size object" ); - t.eq( tile.size.w, 5, "tile.size.w is set correctly"); - t.eq( tile.size.h, 6, "tile.size.h is set correctly"); - t.eq( tile.url, "http://www.openlayers.org/dev/tests/tileimage", "tile.size.h is set correctly"); + t.eq( tile.layer, layer, "tile.layer is set correctly"); + t.ok( tile.position.equals(position), "tile.position is set correctly"); + t.ok( tile.bounds.equals(bounds), "tile.bounds is set correctly"); + t.eq( tile.url, url, "tile.url is set correctly"); + t.ok( tile.size.equals(size), "tile.size is set correctly"); } function test_02_Tile_Image_draw (t) { t.plan( 4 ); - tile = new OpenLayers.Tile.Image(null, - new OpenLayers.Bounds(1,2,3,4), - "http://www.openlayers.org/dev/tests/tileimage", - new OpenLayers.Size(5,6)); + + var layer = new Object(); //bogus layer + var position = new OpenLayers.Pixel(20,30); + var bounds = new OpenLayers.Bounds(1,2,3,4); + var url = "http://www.openlayers.org/dev/tests/tileimage"; + var size = new OpenLayers.Size(5,6); + tile = new OpenLayers.Tile.Image(layer, position, bounds, url, size); + tile.draw(); if (!isMozilla) t.ok( true, "skipping element test outside of Mozilla"); @@ -37,20 +41,6 @@ t.eq( tile.img.style.width, "5px", "Image width is correct" ); t.eq( tile.img.style.height, "6px", "Image height is correct" ); } - function test_03_Tile_setPosition (t) { - t.plan( 5 ); - tile = new OpenLayers.Tile.Image( - new OpenLayers.Bounds(1,2,3,4), "http://www.openlayers.org/dev/tests/tileimage", - new OpenLayers.Size(5,6)); - t.eq( tile.getPosition(), null, "getPosition before draw returns null" ); - tile.setPosition(new OpenLayers.Pixel(1,2)); - t.eq( tile.getPosition().x, 1, "tile's x position set correctly " ); - t.eq( tile.getPosition().y, 2, "tile's y position set correctly" ); - tile.draw(); - tile.setPosition(new OpenLayers.Pixel(1,2)); - t.eq( tile.img.style.left, 1 + "px", "setPosition sets x of image correctly after draw" ); - t.eq( tile.img.style.top, 2 + "px", "setPosition sets y of image correctly after draw" ); - } // -->