Ionic & ngCorgova 地理定位

Posted

技术标签:

【中文标题】Ionic & ngCorgova 地理定位【英文标题】:Ionic & ngCorgova Geolocation 【发布时间】:2015-11-19 14:09:57 【问题描述】:

我目前正在从事 Ionic / ngCordova 地理定位项目,我们希望能够获取用户当前位置。

我已设法获取用户位置,但无法获得超时刷新以在移动时继续查看他们的位置。

任何建议/帮助将不胜感激。

   (function(angular, undefined) 
      "use strict";
      var app = angular.module('starter');

      app.controller('geoCtrl', function($cordovaGeolocation, $scope) 
        var self = this;

        var posOptions = enableHighAccuracy: true, maximumAge: 5000, timeout: 8000;
        $cordovaGeolocation
          .getCurrentPosition(posOptions)
          .then(function (position) 
            var lat  = position.coords.latitude;
            var long = position.coords.longitude;
            self.location = lat +' - '+ long;
            console.log(self.location);
          , function(err) 
            console.log('error:', error);
          );

        var watchOptions = 
          timeout : 1000,
          enableHighAccuracy: false
        ;
        var watch = $cordovaGeolocation.watchPosition(watchOptions);

        watch.then(
          null,
          function(err) 
          ,
          function(position) 
            var lat  = position.coords.latitude;
            var long = position.coords.longitude;
            self.location = lat +' - '+ long;
            console.log(self.location);
        );

        watch.clearWatch();

      );
    )(angular);

【问题讨论】:

【参考方案1】:

您正在调用watch.clearWatch(),它的作用基本上是重置观察者。

根据插件的documentation

navigator.geolocation.clearWatch

停止观察由 watchID 参数。

navigator.geolocation.clearWatch(watchID);

只需评论该行,一切都会正常。

【讨论】:

以上是关于Ionic & ngCorgova 地理定位的主要内容,如果未能解决你的问题,请参考以下文章

Ionic 3 值绑定地理定位

Ionic4 watchPosition 和 getCurrentPosition 的地理位置与 Ionic/Capacitor 不准确

在 Ionic 2 中实施地理定位跟踪时出错

如何使用 Ionic2(地理定位)检查 GPS 是不是启用?

使用 Ionic 进行谷歌地图和地理定位:对象不是函数

无法在 Ionic 框架上使用人行横道获取地理位置(未发现错误)