Hola,
Exactamente no se el codigo, pero para poder centrar cuando haces zoom, lo que debes hacer es crear un nuevo punto (point) y centrarlo. Te dejo una función que utilizo en un proyecto que estoy haciendo, por si te sirve.
Código:
function showAddress(address) {
if (geocoder) {
/* geocoder.getLatLng(address, function(point){
console.debug(point.Ye);
console.debug(point.Va);
});*/
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
map.setCenter(point, 15);
var marker = new GMarker(point);
var html = bla,bla,bla ";
de todos modos, en la pagina de la API de google maps, tienes ejemplos de lo que buscas. El tema es el siguiente:
1. cuando le haces click en el mapa para hacer zoom, creas directamente un nuevo point.
2. Luego llamas a map.setCenter(point,x); y ya está.
Cada vez que hagas click cogerá el punto donde has clickado y luego se centrará.
Espero que te sirva. CIao!