cordovaGeolocation 错误:位置检索超时

Posted

技术标签:

【中文标题】cordovaGeolocation 错误:位置检索超时【英文标题】:cordovaGeolocation error: position retrieval timed out 【发布时间】:2015-05-18 13:12:34 【问题描述】:

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

所以我实现了一个像这样的 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 上测试该应用程序。

我搜索了一下,发现 cordova 3.1 的地理位置存在一些错误,所以我选择使用 html api 进行地理位置,如下所示: https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation

但它没有在我的 ionic-framework 应用程序中显示任何内容。

我错过了什么?

我正在使用 cordova 4.3.0 和 ionic 1.3.19。

【问题讨论】:

请在此处查看我的回答:[***.com/questions/30301464/…Jesse [1]:***.com/questions/30301464/… 【参考方案1】:

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

【讨论】:

以上是关于cordovaGeolocation 错误:位置检索超时的主要内容,如果未能解决你的问题,请参考以下文章

Cordova各个插件使用介绍系列—$cordovaGeolocation获取当前位置

未捕获的错误:[$injector:modulerr] 添加 $cordovaGeolocation 和 $ionicPopup 时无法实例化模块

$cordovaGeolocation.getCurrentPosition 上的“非法访问”

在 Ionic 中使用 navigator.geolocation 或 $cordovaGeolocation

在 Ionic 中使用 navigator.geolocation 或 $cordovaGeolocation

Cordova GeoLocation 在 android 应用程序中不起作用