Cleanup the getZoomForExtent() code -- thanks to crschmidt for discovering that I had the ratio of max to current resolution flipped.

git-svn-id: http://svn.openlayers.org/trunk/openlayers@270 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Schuyler Erle
2006-05-22 17:50:51 +00:00
parent 7378388d45
commit 43d9a488df

View File

@@ -258,8 +258,10 @@ OpenLayers.Map.prototype = {
*/
getZoomForExtent: function (bounds) {
var size = this.getSize();
var deg_per_pixel = (bounds.getWidth() > bounds.getHeight() ? bounds.getWidth() / size.w : bounds.getHeight() / size.h);
var zoom = -( Math.log(deg_per_pixel / this.maxResolution) / Math.log(2) );
var width = bounds.getWidth();
var height = bounds.getHeight();
var deg_per_pixel = (width > height ? width / size.w : height / size.h);
var zoom = Math.log(this.maxResolution / deg_per_pixel) / Math.log(2);
return Math.floor(Math.max(zoom, 0));
},