Fixed OverviewMap and PanZoomBar controls. The former was broken because the extent rectangle div now has to be added to the viewPortDiv instead of the div, and the latter because it uses pagePosition where it doesn't need to, with an incorrect argument. r=fredj (closes #2247)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@10878 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
ahocevar
2010-11-08 12:26:40 +00:00
parent 003312856c
commit c8c9b51e73
2 changed files with 3 additions and 5 deletions

View File

@@ -157,7 +157,7 @@ OpenLayers.Control.OverviewMap = OpenLayers.Class(OpenLayers.Control, {
this.handlers.drag.destroy(); this.handlers.drag.destroy();
} }
this.mapDiv.removeChild(this.extentRectangle); this.ovmap && this.ovmap.viewPortDiv.removeChild(this.extentRectangle);
this.extentRectangle = null; this.extentRectangle = null;
if (this.rectEvents) { if (this.rectEvents) {
@@ -229,7 +229,6 @@ OpenLayers.Control.OverviewMap = OpenLayers.Class(OpenLayers.Control, {
this.extentRectangle.style.position = 'absolute'; this.extentRectangle.style.position = 'absolute';
this.extentRectangle.style.zIndex = 1000; //HACK this.extentRectangle.style.zIndex = 1000; //HACK
this.extentRectangle.className = this.displayClass+'ExtentRectangle'; this.extentRectangle.className = this.displayClass+'ExtentRectangle';
this.mapDiv.appendChild(this.extentRectangle);
this.element.appendChild(this.mapDiv); this.element.appendChild(this.mapDiv);
@@ -490,6 +489,7 @@ OpenLayers.Control.OverviewMap = OpenLayers.Class(OpenLayers.Control, {
{controls: [], maxResolution: 'auto', {controls: [], maxResolution: 'auto',
fallThrough: false}, this.mapOptions); fallThrough: false}, this.mapOptions);
this.ovmap = new OpenLayers.Map(this.mapDiv, options); this.ovmap = new OpenLayers.Map(this.mapDiv, options);
this.ovmap.viewPortDiv.appendChild(this.extentRectangle);
// prevent ovmap from being destroyed when the page unloads, because // prevent ovmap from being destroyed when the page unloads, because
// the OverviewMap control has to do this (and does it). // the OverviewMap control has to do this (and does it).

View File

@@ -286,9 +286,7 @@ OpenLayers.Control.PanZoomBar = OpenLayers.Class(OpenLayers.Control.PanZoom, {
if (!OpenLayers.Event.isLeftClick(evt)) { if (!OpenLayers.Event.isLeftClick(evt)) {
return; return;
} }
var y = evt.xy.y; var levels = evt.xy.y / this.zoomStopHeight;
var top = OpenLayers.Util.pagePosition(evt.object)[1];
var levels = (y - top)/this.zoomStopHeight;
if(this.forceFixedZoomLevel || !this.map.fractionalZoom) { if(this.forceFixedZoomLevel || !this.map.fractionalZoom) {
levels = Math.floor(levels); levels = Math.floor(levels);
} }