add concept of slideFactor to panzoom

git-svn-id: http://svn.openlayers.org/trunk/openlayers@650 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
euzuro
2006-06-21 14:31:34 +00:00
parent 61a93c8d38
commit 705555f1f7

View File

@@ -11,6 +11,9 @@ OpenLayers.Control.PanZoom.Y = 4;
OpenLayers.Control.PanZoom.prototype =
Object.extend( new OpenLayers.Control(), {
/** @type int */
slideFactor: 50,
/** @type Array of Button Divs */
buttons: null,
@@ -80,6 +83,7 @@ OpenLayers.Control.PanZoom.prototype =
btn.onclick = this.doubleClick.bindAsEventListener(btn);
btn.action = id;
btn.map = this.map;
btn.slideFactor = this.slideFactor;
//we want to remember/reference the outer div
this.buttons.push(btn);
@@ -100,43 +104,40 @@ OpenLayers.Control.PanZoom.prototype =
* @param {event} evt
*/
buttonDown: function (evt) {
var slide = this.map.getResolution() * this.slideFactor;
var center = this.map.getCenter();
var newCenter = center.copyOf();
switch (this.action) {
case "panup":
var resolution = this.map.getResolution();
var center = this.map.getCenter();
this.map.setCenter(
new OpenLayers.LonLat(center.lon,
center.lat + (resolution * 50))
);
newCenter = newCenter.add( 0, slide);
break;
case "pandown":
var resolution = this.map.getResolution();
var center = this.map.getCenter();
this.map.setCenter(
new OpenLayers.LonLat(center.lon,
center.lat - (resolution * 50))
);
newCenter = newCenter.add( 0, -slide);
break;
case "panleft":
var resolution = this.map.getResolution();
var center = this.map.getCenter();
this.map.setCenter(
new OpenLayers.LonLat(center.lon - (resolution * 50),
center.lat)
);
newCenter = newCenter.add( -slide, 0);
break;
case "panright":
var resolution = this.map.getResolution();
var center = this.map.getCenter();
this.map.setCenter(
new OpenLayers.LonLat(center.lon + (resolution * 50),
center.lat)
);
newCenter = newCenter.add( slide, 0);
break;
case "zoomin":
this.map.zoomIn();
break;
case "zoomout":
this.map.zoomOut();
break;
case "zoomworld":
this.map.zoomExtent();
break;
case "zoomin": this.map.zoomIn(); break;
case "zoomout": this.map.zoomOut(); break;
case "zoomworld": this.map.zoomExtent(); break;
}
if (!newCenter.equals(center)) {
this.map.setCenter(newCenter);
}
Event.stop(evt);
},