int height = getHeight()/2;
LatLon l1 = new LatLon(b.getMinLat(), lon);
LatLon l2 = new LatLon(b.getMaxLat(), lon);
EastNorth e1 = getProjection().latlon2eastNorth(l1);
EastNorth e2 = getProjection().latlon2eastNorth(l2);
double d = e2.north() - e1.north();
if (height > 0 && d < height*newScale) {
double newScaleH = d/height;
e1 = getProjection().latlon2eastNorth(new LatLon(lat, b.getMinLon()));
e2 = getProjection().latlon2eastNorth(new LatLon(lat, b.getMaxLon()));
d = e2.east() - e1.east();