Kingalione
Kingalione

Reputation: 4275

cordovaGeolocation error: position retrieval timed out

Hello I want to implement some geolocation features in my app.

So I implemented a watchposition function like this:

.controller('NavigationCtrl', function ($scope,$cordovaGeolocation) {

var watchOptions = {
  frequency : 1000,
  timeout : 20*1000,
  enableHighAccuracy: false // may cause errors if true
};

var watch = $cordovaGeolocation.watchPosition(watchOptions);
watch.then(
  null,
  function(err) {
    alert("WatchPosition failed: "+JSON.stringify(err));
  },
  function(position) {
    $scope.position = position;
  }
);

})

Well in the first call of the template I get a geolocation but than after 20 seconds I get an error:

code:3, message:'Position retrieval timed out'

I'm testing the app on a iPhone 5s iOS 8.3.

I googled around and found out that cordova 3.1 has some errors with geolocations so I choose to use the html api for geolocations like here: https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation

but it didn't show me anything in my ionic-framework app.

What am I missing?

I'm using cordova 4.3.0 and ionic 1.3.19.

Upvotes: 0

Views: 1559

Answers (1)

Kingalione
Kingalione

Reputation: 4275

I found out that I have to put the code in a $ionicPlatform.ready function to be sure that the device is ready before it start geolocating. Now it working fine.

Upvotes: 1

Related Questions