Метод ngCordova watchPosition()

Я использую ngCordova в проекте Ionic, и метод геолокации watchPosition ведет себя странно.

У меня есть фабрика, которая возвращает обещание:

  var watchOptions = {
    frequency: 5000,
    timeout: 7000,
    maximumAge: 100,
    enableHighAccuracy: false
  };

  var watch = $cordovaGeolocation.watchPosition(watchOptions);
  return watch;

Я использую данные, возвращенные из обещания в контроллере:

  GetCurrentLocation.then(null, function(err) {
    console.log(err); 
  }, function(position) {
    console.log(position);
  });

Когда состояние страницы изменяется с помощью этого контроллера, он регистрирует позицию один раз, но после этого не повторяет. На самом деле, когда-нибудь он случайно зарегистрирует его снова. Я не уверен, должна ли позиция переместиться на определенную величину, чтобы обновить позицию, или я делаю что-то не так.


person mikeLspohn    schedule 06.08.2015    source источник
comment
watchPosition вызывается каждый раз, когда позиция изменяется независимо от величины. Записывается ли консоль, когда вы меняете lat lng из эмулятора chrome?   -  person arun    schedule 29.09.2015


Ответы (1)


Эти параметры работают для меня (также с использованием ngCordova)

 var posOptions = {
      enableHighAccuracy: true, maximumAge: 5000, timeout: 8000
 };

Не могли бы вы попробовать это один раз и убедиться, что ваш Wi-Fi выключен? Тогда заметил какое-то странное поведение :)

person NicoJuicy    schedule 17.11.2015