Calculating rowSign only once
This commit is contained in:
@@ -276,6 +276,13 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
|
|||||||
* startrow
|
* startrow
|
||||||
*/
|
*/
|
||||||
gridLayout: null,
|
gridLayout: null,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Property: rowSign
|
||||||
|
* {Number} 1 for grids starting at the top, -1 for grids starting at the
|
||||||
|
* bottom. This is used for several grid index and offset calculations.
|
||||||
|
*/
|
||||||
|
rowSign: null,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor: OpenLayers.Layer.Grid
|
* Constructor: OpenLayers.Layer.Grid
|
||||||
@@ -308,6 +315,8 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
|
|||||||
this.moveTimerId = null;
|
this.moveTimerId = null;
|
||||||
}, this);
|
}, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.rowSign = this.tileOriginCorner.substr(0, 1) === "t" ? 1 : -1;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -884,7 +893,7 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
|
|||||||
var offsetlon = bounds.left - origin.lon;
|
var offsetlon = bounds.left - origin.lon;
|
||||||
var tilecol = Math.floor(offsetlon/tilelon) - this.buffer;
|
var tilecol = Math.floor(offsetlon/tilelon) - this.buffer;
|
||||||
|
|
||||||
var rowSign = this.tileOriginCorner.substr(0, 1) === "t" ? 1 : -1;
|
var rowSign = this.rowSign;
|
||||||
|
|
||||||
var offsetlat = rowSign * (origin.lat - bounds.top + tilelat);
|
var offsetlat = rowSign * (origin.lat - bounds.top + tilelat);
|
||||||
var tilerow = Math[~rowSign ? 'floor' : 'ceil'](offsetlat/tilelat) - this.buffer * rowSign;
|
var tilerow = Math[~rowSign ? 'floor' : 'ceil'](offsetlat/tilelat) - this.buffer * rowSign;
|
||||||
@@ -939,7 +948,7 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
|
|||||||
var tilelat = tileLayout.tilelat;
|
var tilelat = tileLayout.tilelat;
|
||||||
var startcol = tileLayout.startcol;
|
var startcol = tileLayout.startcol;
|
||||||
var startrow = tileLayout.startrow;
|
var startrow = tileLayout.startrow;
|
||||||
var rowSign = this.tileOriginCorner.substr(0, 1) === "t" ? 1 : -1;
|
var rowSign = this.rowSign;
|
||||||
return new OpenLayers.Bounds(
|
return new OpenLayers.Bounds(
|
||||||
origin.lon + (startcol + col) * tilelon,
|
origin.lon + (startcol + col) * tilelon,
|
||||||
origin.lat - (startrow + row * rowSign) * tilelat * rowSign,
|
origin.lat - (startrow + row * rowSign) * tilelat * rowSign,
|
||||||
@@ -1207,7 +1216,7 @@ OpenLayers.Layer.Grid = OpenLayers.Class(OpenLayers.Layer.HTTPRequest, {
|
|||||||
var grid = this.grid;
|
var grid = this.grid;
|
||||||
var rowIndex = prepend ? 0 : (grid.length - 1);
|
var rowIndex = prepend ? 0 : (grid.length - 1);
|
||||||
var sign = prepend ? -1 : 1;
|
var sign = prepend ? -1 : 1;
|
||||||
var rowSign = this.tileOriginCorner.substr(0, 1) === "t" ? 1 : -1;
|
var rowSign = this.rowSign;
|
||||||
var tileLayout = this.gridLayout;
|
var tileLayout = this.gridLayout;
|
||||||
tileLayout.startrow += sign * rowSign;
|
tileLayout.startrow += sign * rowSign;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user