I have an object inside an Angular.js factory:
angular.module('myapp')
        .factory('geoLocationService', function () {
            var geoLocationObj = {};
            var geocoder = new google.maps.Geocoder();
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(_successFunction, _errorFunction);
            }
            function _successFunction(position) {
                var lat = position.coords.latitude;
                var lng = position.coords.longitude;
                var latlng = new google.maps.LatLng(lat, lng);
                geocoder.geocode({'latLng': latlng}, function (results, status) {
                    if (status === google.maps.GeocoderStatus.OK) {
                        if (results[2]) {
                            geoLocationObj.resultCity = results[2].formatted_address;
                            alert(geoLocationObj.resultCity);
                        } else {
                            alert("No results found");
                        }
                    } else {
                        alert("Geocoder failed due to: " + status);
                    }
                });
            }
            return geoLocationObj;
        });
This works alert(geoLocationObj.resultCity); and alerts in property value
But
console.log(geoLocationObj);
does not log the propety geoLocationObj.resultCity
I am trying to use geoLocationObj.resultCity outside the Factory in my controller but it is not there. 
I have in my controller:
.controller('IndexCtrl', function ($scope, geoLocationService) {
    var geoLocationService = geoLocationService;
    console.log(geoLocationService);
geoLocationService is an empty Object
I cannot figure out why this is happening. Can you help me with this?
 
     
     
    