No deltas for tile bounds/position calculation
Now we also do not use deltas for shiftRow and shiftColumn. Some refactoring was done so we do not need different calculateGridLayout methods for layers with top-left and bottom-left tile origin. TODO: With this commit, ArcGisCache and KaMap layers are broken.
This commit is contained in:
@@ -439,41 +439,5 @@ OpenLayers.Layer.MapGuide = OpenLayers.Class(OpenLayers.Layer.Grid, {
|
||||
return requestString;
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: calculateGridLayout
|
||||
* Generate parameters for the grid layout. This
|
||||
*
|
||||
* Parameters:
|
||||
* bounds - {<OpenLayers.Bound>}
|
||||
* origin - {<OpenLayers.LonLat>}
|
||||
* resolution - {Number}
|
||||
*
|
||||
* Returns:
|
||||
* {Object} Object containing properties tilelon, tilelat, tileoffsetlat,
|
||||
* tileoffsetlat, tileoffsetx, tileoffsety
|
||||
*/
|
||||
calculateGridLayout: function(bounds, origin, resolution) {
|
||||
var tilelon = resolution * this.tileSize.w;
|
||||
var tilelat = resolution * this.tileSize.h;
|
||||
|
||||
var offsetlon = bounds.left - origin.lon;
|
||||
var tilecol = Math.floor(offsetlon/tilelon) - this.buffer;
|
||||
var tilecolremain = offsetlon/tilelon - tilecol;
|
||||
var tileoffsetx = -tilecolremain * this.tileSize.w;
|
||||
var tileoffsetlon = origin.lon + tilecol * tilelon;
|
||||
|
||||
var offsetlat = origin.lat - bounds.top + tilelat;
|
||||
var tilerow = Math.floor(offsetlat/tilelat) - this.buffer;
|
||||
var tilerowremain = tilerow - offsetlat/tilelat;
|
||||
var tileoffsety = tilerowremain * this.tileSize.h;
|
||||
var tileoffsetlat = origin.lat - tilelat*tilerow;
|
||||
|
||||
return {
|
||||
tilelon: tilelon, tilelat: tilelat,
|
||||
tileoffsetlon: tileoffsetlon, tileoffsetlat: tileoffsetlat,
|
||||
tileoffsetx: tileoffsetx, tileoffsety: tileoffsety
|
||||
};
|
||||
},
|
||||
|
||||
CLASS_NAME: "OpenLayers.Layer.MapGuide"
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user