This uses a few mootools, so you will need to edit the code to use it with other libraries (should be simple enough).
google.maps.Map.prototype.boundsAt = function (zoom, center, projection, div) {
var p = projection || this.getProjection();
if (!p) return undefined;
var d = $(div || this.getDiv());
var zf = Math.pow(2, zoom) * 2;
var dw = d.getStyle('width').toInt() / zf;
var dh = d.getStyle('height').toInt() / zf;
var cpx = p.fromLatLngToPoint(center || this.getCenter());
return new google.maps.LatLngBounds(
p.fromPointToLatLng(new google.maps.Point(cpx.x - dw, cpx.y + dh)),
p.fromPointToLatLng(new google.maps.Point(cpx.x + dw, cpx.y - dh)));
}
source
share