Angular-google-map bounds example
I think that the problem may be the zoom.Logically speaking the zoom concept is not gets along with bounds, because the bounds define a zoom.
It might be the case that you need to apply this dynamically after map load. Try the following:
$scope.$apply(function() { $scope.map = { ... }});