What about just returning the center? Or chaining a promise for the center? You would resolve it when you are ready to center the map.
var centerPromise = GeoCoder.getLocations($scope.address).then(function(results) {
var latLng = results[0].geometry.location;
$scope.nextCenter = {
lat: latLng.k,
lng: latLng.A
};
return new $q.defer().promise;
});