cordovaGeolocation错误:位置检索超时

时间:2015-05-18 13:12:35

标签: angularjs cordova geolocation ionic-framework

您好我想在我的应用中实现一些地理定位功能。

所以我实现了这样的watchposition函数:

.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;
  }
);

})

在模板的第一次调用中,我得到了一个地理定位但是在20秒之后我得到了一个错误:

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

我在iPhone 5s iOS 8.3上测试应用程序。

我用Google搜索并发现cordova 3.1在地理定位方面存在一些错误,因此我选择使用html api进行地理定位,例如: https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation

但它在我的离子框架应用程序中没有显示任何内容。

我错过了什么?

我使用的是cordova 4.3.0和离子1.3.19。

1 个答案:

答案 0 :(得分:1)

我发现我必须将代码放在$ionicPlatform.ready函数中,以确保设备在开始进行地理定位之前已准备就绪。现在它工作正常。