You could certainly do it programmatically. That's how it's done with the scrollwheel, and though I never used the v2 zoomIn method as described, it would be how it was done there, too. Basically, you would need to take the LatLng you're wanting to zoom around and calculate a new center point based on the following formulae:
newCenterLat = givenLat + ((currentCenterLat - givenLat) * Math.pow(.5, currentZoom - newZoom));
newCenterLng = givenLng + ((currentCenterLng - givenLng) * Math.pow(.5, currentZoom - newZoom));
You would then call something like this:
map.setOptions({
center : new google.maps.LatLng(newCenterLat, newCenterLng),
zoom : newZoom
});
And you should zoom in or out around the given point. I.e., the given point should remain fixed within your display, regardless of where it is on the map.
Jeremy R. Geerdes
Generally Cool Guy
Des Moines, IA
For more information or a project quote:
If you're in the Des Moines, IA, area, check out Debra Heights Wesleyan Church!