获取"位置错误超时" cordova地理定位插件出错:Ionic

时间:2017-03-23 07:25:23

标签: cordova ionic-framework

我们在离子中获取位置时出错。每当我们得到"位置错误"

PositionError {code: 3, message: "Timeout expired"}

在非常罕见的情况下,如果我重新启动手机,那么它的工作时间很短,

如何使其保持一致?每次我想获取位置值?

有可用的插件吗?

请检查以下代码

var posOptions = {
            enableHighAccuracy: true,
            timeout: 20000,
            maximumAge: 60000
        };


$cordovaGeolocation.getCurrentPosition(posOptions).then(function (position) {


               $scope.loadingIndicator.hide();
               $scope.lat  = position.coords.latitude
               $scope.long = position.coords.longitude


        }, function(err) {
            $ionicLoading.hide();
             var alertPopup = $ionicPopup.alert({
              title: '',
              template: 'Try Again! Not able to get current location'
            })
            console.log(err);
        });

请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题并通过这样做找到了解决方案:

  1. 添加插件白名单: 离子插件添加https://github.com/apache/cordova-plugin-whitelist.git
  2. 我假设你已经安装了这个: 离子插件添加cordova-plugin-geolocation
  3. 每次更改依赖项时都不要忘记安装npm。

  4. 然后您可以使用: navigator.geolocation.getCurrentPosition(geoSuccess,geoError,positionOption)

  5. 而不是cordovaGeoLocation。

    如果您仍然遇到问题,请在此回购后尝试新的代码:

    https://github.com/jessamynsmith/ionic-angular-google-maps-example 检查你是否做得很好。

    祝你好运!