ngCordova watchPosition不适用于离子框架

时间:2016-04-04 15:14:53

标签: ionic-framework ngcordova

我正在使用离子框架中的应用程序,我希望获得设备的位置。 它适用于 getCurrentPosition 但是当我尝试使用 watchPosition 时,只要设备位置发生变化,我就可以获得新的位置。它什么都不做。 我不确定我错过了什么 我的controllers.js代码

.controller('LocCtrl', function($scope,$cordovaGeolocation) {
  var posOptions = {timeout: 10000, enableHighAccuracy: false};
  $cordovaGeolocation
    .getCurrentPosition(posOptions)
    .then(function (position) {
      alert('Latitude: '        + position.coords.latitude        + '\n' +
          'Longitude: '         + position.coords.longitude         + '\n' +
          'Altitude: '          + position.coords.altitude          + '\n' +
          'Accuracy: '          + position.coords.accuracy          + '\n' +
          'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '\n' +
          'Heading: '           + position.coords.heading           + '\n' +
          'Speed: '             + position.coords.speed             + '\n' +
          'Timestamp: '         + position.timestamp                + '\n');
    }, function(err) {
      alert(err);
    });

  var watchOptions = {
    timeout : 3000,
    enableHighAccuracy: false // may cause errors if true
  };
  var watch = $cordovaGeolocation.watchPosition(watchOptions);
  watch.promise.then(
    null,
    function(err) {
      alert("error:"+err);
    },
    function(position) {
      var lat  = position.coords.latitude
      var long = position.coords.longitude
      alert("Lat in Watch:"+lat);
  });
  $cordovaGeolocation.clearWatch(watch.watchId);
})

我使用了一些警告信息来查看发生了什么, 在当前的设置中,它会提供两条警告消息,提供 getCurrentPosition ,但在更改设备位置时会发生注意。

0 个答案:

没有答案