Oh I forgot to add it,
As for the auto zoom I think there is a dedicated function for that in the google API, would have to look there. Otherwise there is a library(that can also be found on the google api website) that extend the functionnalities concerning auto zoom and gives more option on binding neighbourgh points together depending on the zoom level.
For big albums the situation were you have 100s of points on the map is bouund to happen, and this will result in lower performance. If I remember, binding multiple point into a single one is suppose to help that, and also clean up the mess

regards
Eric