bringing all changes from sandbox/euzuro/LayersReworking down into the trunk. this is a merge of r656:HEAD http://svn.openlayers.org/sandbox/euzuro/LayersReworking

git-svn-id: http://svn.openlayers.org/trunk/openlayers@806 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
euzuro
2006-06-27 23:16:26 +00:00
parent 63bd624827
commit ff0e83d0a0
24 changed files with 1262 additions and 467 deletions

View File

@@ -33,31 +33,20 @@ OpenLayers.Control.KeyboardDefaults.prototype =
* @param {Event} evt
*/
defaultKeyDown: function (evt) {
var slide = this.map.getResolution() * this.slideFactor;
var center = this.map.getCenter();
var newCenter = center.copyOf();
switch(evt.keyCode) {
case Event.KEY_LEFT:
newCenter = newCenter.add( -slide, 0);
this.map.pan(-50, 0);
break;
case Event.KEY_RIGHT:
newCenter = newCenter.add( slide, 0);
this.map.pan(50, 0);
break;
case Event.KEY_UP:
newCenter = newCenter.add( 0, slide);
this.map.pan(0, -50);
break;
case Event.KEY_DOWN:
newCenter = newCenter.add( 0, -slide);
this.map.pan(0, 50);
break;
}
if (!newCenter.equals(center)) {
this.map.setCenter(newCenter);
Event.stop(evt);
}
},
/** @final @type String */

View File

@@ -113,23 +113,18 @@ OpenLayers.Control.PanZoom.prototype =
buttonDown: function (evt) {
if (!Event.isLeftClick(evt)) return;
var slide = this.map.getResolution() * this.slideFactor;
var center = this.map.getCenter();
var newCenter = center.copyOf();
switch (this.action) {
case "panup":
newCenter = newCenter.add( 0, slide);
this.map.pan(0, -50);
break;
case "pandown":
newCenter = newCenter.add( 0, -slide);
this.map.pan(0, 50);
break;
case "panleft":
newCenter = newCenter.add( -slide, 0);
this.map.pan(-50, 0);
break;
case "panright":
newCenter = newCenter.add( slide, 0);
this.map.pan(50, 0);
break;
case "zoomin":
this.map.zoomIn();
@@ -138,14 +133,10 @@ OpenLayers.Control.PanZoom.prototype =
this.map.zoomOut();
break;
case "zoomworld":
this.map.zoomToFullExtent();
this.map.zoomToMaxExtent();
break;
}
if (!newCenter.equals(center)) {
this.map.setCenter(newCenter);
}
Event.stop(evt);
},

View File

@@ -24,6 +24,10 @@ OpenLayers.Control.PanZoomBar.prototype =
OpenLayers.Control.PanZoom.prototype.initialize.apply(this, arguments);
this.position = new OpenLayers.Pixel(OpenLayers.Control.PanZoomBar.X,
OpenLayers.Control.PanZoomBar.Y);
// put code here to catch "changebaselayer" event from map, because
// we are going to have to redraw this thing each time, because
// maxZoom will/might change.
},
/**
@@ -60,7 +64,7 @@ OpenLayers.Control.PanZoomBar.prototype =
var id = "OpenLayers_Control_PanZoomBar_Slider" + this.map.id;
var slider = OpenLayers.Util.createAlphaImageDiv(id,
centered.add(-1,
(this.map.getZoomLevels())*this.zoomStopHeight),
(this.map.getMaxZoomLevel())*this.zoomStopHeight),
new OpenLayers.Size(20,9),
imgLocation+"slider.png",
"absolute");
@@ -74,7 +78,7 @@ OpenLayers.Control.PanZoomBar.prototype =
this.sliderEvents.register("click", this, this.doubleClick);
sz = new OpenLayers.Size();
sz.h = this.zoomStopHeight*(this.map.getZoomLevels()+1);
sz.h = this.zoomStopHeight*(this.map.getMaxZoomLevel()+1);
sz.w = this.zoomStopWidth;
var div = null
@@ -110,7 +114,7 @@ OpenLayers.Control.PanZoomBar.prototype =
this.map.events.register("zoomend", this, this.moveZoomBar);
centered = centered.add(0,
this.zoomStopHeight*(this.map.getZoomLevels()+1));
this.zoomStopHeight*(this.map.getMaxZoomLevel()+1));
return centered;
},
/*
@@ -131,7 +135,7 @@ OpenLayers.Control.PanZoomBar.prototype =
var y = evt.xy.y;
var top = Position.page(evt.object)[1];
var levels = Math.floor((y - top)/this.zoomStopHeight);
this.map.zoomTo(this.map.getZoomLevels() - levels);
this.map.zoomTo(this.map.getMaxZoomLevel() - levels);
Event.stop(evt);
},
@@ -193,7 +197,7 @@ OpenLayers.Control.PanZoomBar.prototype =
*/
moveZoomBar:function() {
var newTop =
(this.map.getZoomLevels() - this.map.getZoom()) * this.zoomStopHeight
(this.map.getMaxZoomLevel() - this.map.getZoom()) * this.zoomStopHeight
+ this.startTop + 1;
this.slider.style.top = newTop + "px";
},