Просто объявите вашу переменную marker
вне обратного вызова и присвойте ей значение внутри обратного вызова:
var marker = null;
geocoder.geocode({ address: address },
function(results, status) {
if (status == google.maps.GeocoderStatus.OK && results.length) {
if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
map.setCenter(results[0].geometry.location);
marker = new google.maps.Marker({
position: results[0].geometry.location,
map: map
});
}
}
}
);
Будьте осторожны, обратный вызов асинхронный, поэтому в marker
не будет ничего полезного, пока обратный вызов не будет запущен.