Changeset 1356
- Timestamp:
- 08/24/06 09:21:45 (2 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/openlayers/2.0/lib/OpenLayers/Control/MouseDefaults.js
r1338 r1356 126 126 if (!Event.isLeftClick(evt)) return; 127 127 if (this.zoomBox) { 128 if (Math.abs(this.mouseDragStart.x - evt.xy.x) > 5 || 129 Math.abs(this.mouseDragStart.y - evt.xy.y) > 5) { 130 var start = this.map.getLonLatFromViewPortPx( this.mouseDragStart ); 131 var end = this.map.getLonLatFromViewPortPx( evt.xy ); 132 var top = Math.max(start.lat, end.lat); 133 var bottom = Math.min(start.lat, end.lat); 134 var left = Math.min(start.lon, end.lon); 135 var right = Math.max(start.lon, end.lon); 136 var bounds = new OpenLayers.Bounds(left, bottom, right, top); 137 var zoom = this.map.getZoomForExtent(bounds); 138 this.map.setCenter(new OpenLayers.LonLat( 139 (start.lon + end.lon) / 2, 140 (start.lat + end.lat) / 2 141 ), zoom); 142 } 143 this.map.viewPortDiv.removeChild(document.getElementById("zoomBox")); 144 this.zoomBox = null; 145 128 this.zoomBoxEnd(evt); 146 129 } else { 147 130 if (this.performedDrag) { … … 177 160 defaultWheelDown: function() { 178 161 this.map.zoomOut(); 162 }, 163 164 /** Zoombox function. 165 * 166 */ 167 zoomBoxEnd: function(evt) { 168 if (Math.abs(this.mouseDragStart.x - evt.xy.x) > 5 || 169 Math.abs(this.mouseDragStart.y - evt.xy.y) > 5) { 170 var start = this.map.getLonLatFromViewPortPx( this.mouseDragStart ); 171 var end = this.map.getLonLatFromViewPortPx( evt.xy ); 172 var top = Math.max(start.lat, end.lat); 173 var bottom = Math.min(start.lat, end.lat); 174 var left = Math.min(start.lon, end.lon); 175 var right = Math.max(start.lon, end.lon); 176 var bounds = new OpenLayers.Bounds(left, bottom, right, top); 177 var zoom = this.map.getZoomForExtent(bounds); 178 this.map.setCenter(new OpenLayers.LonLat( 179 (start.lon + end.lon) / 2, 180 (start.lat + end.lat) / 2 181 ), zoom); 182 } else { 183 var end = this.map.getLonLatFromViewPortPx( evt.xy ); 184 this.map.setCenter(new OpenLayers.LonLat( 185 (end.lon), 186 (end.lat) 187 ), this.map.getZoom() + 1); 188 } 189 this.map.viewPortDiv.removeChild(document.getElementById("zoomBox")); 190 this.zoomBox = null; 179 191 }, 180 192 branches/openlayers/2.0/lib/OpenLayers/Control/MouseToolbar.js
r1352 r1356 7 7 * 8 8 * @requires OpenLayers/Control.js 9 * @requires OpenLayers/Control/MouseDefaults.js 9 10 */ 10 11 OpenLayers.Control.MouseToolbar = Class.create(); … … 12 13 OpenLayers.Control.MouseToolbar.Y = 300; 13 14 OpenLayers.Control.MouseToolbar.prototype = 14 Object.extend( new OpenLayers.Control(), { 15 Object.extend( new OpenLayers.Control(), 16 Object.extend( new OpenLayers.Control.MouseDefaults(), { 15 17 16 18 mode: null, … … 243 245 switch (this.mode) { 244 246 case "zoombox": 245 if (Math.abs(this.mouseDragStart.x - evt.xy.x) > 5 || 246 Math.abs(this.mouseDragStart.y - evt.xy.y) > 5) { 247 var start = this.map.getLonLatFromViewPortPx( this.mouseDragStart ); 248 var end = this.map.getLonLatFromViewPortPx( evt.xy ); 249 var top = Math.max(start.lat, end.lat); 250 var bottom = Math.min(start.lat, end.lat); 251 var left = Math.min(start.lon, end.lon); 252 var right = Math.max(start.lon, end.lon); 253 var bounds = new OpenLayers.Bounds(left, bottom, right, top); 254 var zoom = this.map.getZoomForExtent(bounds); 255 this.map.setCenter(new OpenLayers.LonLat( 256 (start.lon + end.lon) / 2, 257 (start.lat + end.lat) / 2 258 ), zoom); 259 } 260 this.map.viewPortDiv.removeChild(document.getElementById("zoomBox")); 261 this.zoomBox = null; 247 this.zoomBoxEnd(evt); 262 248 if (this.startViaKeyboard) this.leaveMode(); 263 249 break; … … 284 270 } 285 271 } 286 }) ;287 272 })); 273
