fixing restrictedExtent check in moveByPx. r=bartvde (closes #3138)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@11607 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -1215,7 +1215,7 @@ OpenLayers.Layer = OpenLayers.Class({
|
||||
var map = this.map;
|
||||
if (viewPortPx != null && map.minPx) {
|
||||
var res = map.getResolution();
|
||||
var maxExtent = map.getMaxExtent();
|
||||
var maxExtent = map.getMaxExtent({restricted: true});
|
||||
var lon = (viewPortPx.x - map.minPx.x) * res + maxExtent.left;
|
||||
var lat = (map.minPx.y - viewPortPx.y) * res + maxExtent.top;
|
||||
lonlat = new OpenLayers.LonLat(lon, lat);
|
||||
|
||||
@@ -1671,21 +1671,21 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
var hh = this.size.h / 2;
|
||||
var x = hw + dx;
|
||||
var y = hh + dy;
|
||||
var valid = y <= this.maxPx.y &&
|
||||
y >= this.minPx.y;
|
||||
var minX, maxX;
|
||||
if (this.baseLayer.wrapDateLine === true) {
|
||||
minX = this.minPx.x, maxX = this.maxPx.x;
|
||||
} else {
|
||||
valid = valid &&
|
||||
x <= this.maxPx.x &&
|
||||
x >= this.minPx.x;
|
||||
var wrapDateLine = this.baseLayer.wrapDateLine;
|
||||
var xRestriction = yRestriction = 0;
|
||||
if (this.restrictedExtent) {
|
||||
xRestriction = hw;
|
||||
yRestriction = hh;
|
||||
// wrapping the date line makes no sense for restricted extents
|
||||
wrapDateLine = false;
|
||||
}
|
||||
if (this.restrictedExtent && valid) {
|
||||
valid = !(this.maxPx.x - x < hw ||
|
||||
x - this.minPx.x < hw ||
|
||||
this.maxPx.y - y < hh ||
|
||||
y - this.minPx.y < hh);
|
||||
var valid = y <= this.maxPx.y - yRestriction &&
|
||||
y >= this.minPx.y + yRestriction;
|
||||
var minX = this.minPx.x, maxX = this.maxPx.x;
|
||||
if (!wrapDateLine) {
|
||||
valid = valid &&
|
||||
x <= this.maxPx.x - xRestriction &&
|
||||
x >= this.minPx.x + xRestriction;
|
||||
}
|
||||
if (valid) {
|
||||
this.center = null;
|
||||
@@ -1694,7 +1694,7 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
parseInt(this.layerContainerDiv.style.left) - dx + "px";
|
||||
this.minPx.x -= dx;
|
||||
this.maxPx.x -= dx;
|
||||
if (this.baseLayer.wrapDateLine === true) {
|
||||
if (wrapDateLine) {
|
||||
if (this.maxPx.x > maxX) {
|
||||
this.maxPx.x -= (maxX - minX);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user