I have a controller where I am trying to store information in $scope.weather and then use it's contents to pass to a function. When I log the result of $scope.weather[0].latitude when I use it one function but when I call it another function within the same controller the result is coming back undefined. Shouldn't the $scope be usable within the same controller? This is also within the same function.
angular.module('CityCtrl', []).controller('CityController', ['$scope', '$http', 'City', function($scope,  $http,  City){
$scope.update = function (zip) {
    City.get({zip : zip}).success(function(response){
        $scope.weather = response
    }).then(function(response){
        $scope.weather = response.data;
        // This is returning the expected result
        console.log($scope.weather[0].latitude;
    })
    if(zip.length === 5){
        // This is coming back undefined
        console.log($scope.weather[0].latitude);
        var box = getBoundingBox([$scope.weather[0].latitude, $scope.weather[0].longitude], 50);
        City.matches(box[1], box[3], box[0], box[2]).success(function(response){
            $scope.matches = response
        }).then(function(response){
            $scope.matches = response.data;
            console.log($scope.matches);
        })
    }
}
}]);
 
    