AngularJS Live Example

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://code.angularjs.org/1.0.6/angular-resource.js"></script>
<div ng-controller = "fessCntrl"> 
<ul>
  	    <li ng-click="alertSwap()">
  	      click 1
  	    </li>
  
  	  </ul>
  	  <ul>
  	    <pre>
  	      data {{data|json}}
  	    </pre>
          
  	  </ul>
</div>

JavaScript

var app = angular.module('myModule', ['ngResource']);

app.controller('fessCntrl', function ($scope, sadadpaymentapi) {
        
    $scope.alertSwap = function () {           
        $scope.data = sadadpaymentapi.getData();    
    }; 
});

app.$inject = ['$scope', 'leaselisting'];

app.factory('leaselisting', ['$timeout','$q',  function($timeout, $q) {    
               
       var leaselistingobject = {
            getValue: function () {              
               var deferred = $q.defer();               
               $timeout(function(){                  
                return {address: 'Singapore, SG, Singapore, 153 Bukit Batok Street 1'};
               }, 3000).then(function(val){
               deferred.resolve(val); 
               });              
                return deferred.promise;
            }
           
       };       
        return leaselistingobject;
}]);


app.factory('sadadpaymentapi', ['$http','$q','leaselisting', function($http, $q,leaselisting) {  

       var leaselistingobject = {
            getData: function () {    
            
               var URL = 'http://maps.googleapis.com/maps/api/geocode/json?address=';  
            
               return leaselisting.getValue().then(function(result){
                
                URL = URL + result.address + '&sensor=true';
                
                 return $http({method: 'GET', url: URL})
                }).then(function (response) {
                   return response.data;
                 });
            }
           
       };       
        return leaselistingobject;
}]);