diff --git a/examples/tiger.html b/examples/tiger.html
new file mode 100644
index 0000000000..d3b2ae27f2
--- /dev/null
+++ b/examples/tiger.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+ OpenLayers Example
+
+
+
diff --git a/lib/OpenLayers/Layer/KaMap.js b/lib/OpenLayers/Layer/KaMap.js
index 5215c1ca0e..8377ea54f3 100644
--- a/lib/OpenLayers/Layer/KaMap.js
+++ b/lib/OpenLayers/Layer/KaMap.js
@@ -18,7 +18,8 @@ OpenLayers.Layer.KaMap.prototype =
// this.cellSize = newScale/(oMap.resolution * inchesPerUnit[oMap.units]);
// kaMap.prototype.geoToPix = function( gX, gY ) { var pX = gX / this.cellSize; var pY = -1 * gY / this.cellSize; }
- initialize: function(name, url, params) {
+ initialize: function(name, url, params, origin) {
+ this.kaOrigin = origin;
var newArguments = new Array();
newArguments.push(name, url, params);
OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
@@ -37,8 +38,8 @@ OpenLayers.Layer.KaMap.prototype =
// 1280000 is an empirical value for a specific tile server, not yet figured out the right way to do this in general.
// This will probably be based on map.maxResolution.
var cellSize = new OpenLayers.Size(resolution*this.tileSize.w, resolution*this.tileSize.h);
- var pX = Math.floor(bounds.left / cellSize.w) * this.tileSize.w;
- var pY = -Math.floor(bounds.top / cellSize.h) * this.tileSize.h;
+ var pX = Math.floor(((bounds.left + this.kaOrigin.lon) / cellSize.w) * this.tileSize.w);
+ var pY = -Math.floor(((bounds.top+this.kaOrigin.lat) / cellSize.h) * this.tileSize.h);
var url = this.getFullRequestString(
{ t: pY,
l: pX,