My $timeout gives diffrent timeouts times

Hello, for my app i use some $timeouts for when to send the GPS data to my server. how ever the time is diffrent every time.

if (geoLocationFound > 12) {
                    $timeout(function () {
                        gettingLocation = false;
                    }, 55000);
                } else {
                    $timeout(function () {
                        gettingLocation = false;
                    }, 5000);

the one with 5 second timeout appears to be right, but the 55 if off. it goes from all between 1min and 3mins.
the rest of the controller can be seen at

Hope someone out there can help me fixing this problem

Sorry if this is wrongly categorized.