From c986fe376e87e212089f9e7a5edd77cbd351ee4b Mon Sep 17 00:00:00 2001 From: crschmidt Date: Fri, 9 Nov 2007 17:57:27 +0000 Subject: [PATCH] "Sometimes, it is handy to have "zoomWorld" icon in OpenLayers.Control.PanZoomBar. This patch enables it." Patch from jachym. (Closes #1131) git-svn-id: http://svn.openlayers.org/trunk/openlayers@5159 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- examples/controls.html | 2 +- lib/OpenLayers/Control/PanZoomBar.js | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/examples/controls.html b/examples/controls.html index 076b00740e..07d88e6265 100644 --- a/examples/controls.html +++ b/examples/controls.html @@ -13,7 +13,7 @@ function init(){ map = new OpenLayers.Map('map', { controls: [] }); - map.addControl(new OpenLayers.Control.PanZoomBar()); + map.addControl(new OpenLayers.Control.PanZoomBar({zoomWorldIcon:true})); map.addControl(new OpenLayers.Control.MouseToolbar()); map.addControl(new OpenLayers.Control.LayerSwitcher({'ascending':false})); map.addControl(new OpenLayers.Control.Permalink()); diff --git a/lib/OpenLayers/Control/PanZoomBar.js b/lib/OpenLayers/Control/PanZoomBar.js index ba4d2ccf3c..8ea38971dd 100644 --- a/lib/OpenLayers/Control/PanZoomBar.js +++ b/lib/OpenLayers/Control/PanZoomBar.js @@ -47,6 +47,12 @@ OpenLayers.Control.PanZoomBar = OpenLayers.Class(OpenLayers.Control.PanZoom, { */ divEvents: null, + /** + * Property: zoomWorldIcon + * {Boolean} + */ + zoomWorldIcon: false, + /** * Constructor: */ @@ -115,11 +121,21 @@ OpenLayers.Control.PanZoomBar = OpenLayers.Class(OpenLayers.Control.PanZoom, { var sz = new OpenLayers.Size(18,18); var centered = new OpenLayers.Pixel(px.x+sz.w/2, px.y); + var wposition = sz.w; + + if (this.zoomWorldIcon) { + centered = new OpenLayers.Pixel(px.x+sz.w, px.y); + } this._addButton("panup", "north-mini.png", centered, sz); px.y = centered.y+sz.h; this._addButton("panleft", "west-mini.png", px, sz); - this._addButton("panright", "east-mini.png", px.add(sz.w, 0), sz); + if (this.zoomWorldIcon) { + this._addButton("zoomworld", "zoom-world-mini.png", px.add(sz.w, 0), sz); + + wposition *= 2; + } + this._addButton("panright", "east-mini.png", px.add(wposition, 0), sz); this._addButton("pandown", "south-mini.png", centered.add(0, sz.h*2), sz); this._addButton("zoomin", "zoom-plus-mini.png", centered.add(0, sz.h*3+5), sz); centered = this._addZoomBar(centered.add(0, sz.h*4 + 5));