Как я могу запустить наложение часов на фоне с помощью сервисного работника Angular 6 - PullRequest
0 голосов
/ 28 сентября 2018

Я использую Angular 6 PWA, я хочу проверить положение пользователя, когда он входит или покидает определенную область."geoFencing";

Он работает, когда пользователь находится в моем приложении, но я хочу, чтобы он выполнялся в фоновом режиме, даже когда браузер закрыт.

Код для геозоны

var id, target, options;

function success(pos) {
  var crd = pos.coords;

  if (target.latitude === crd.latitude && target.longitude === crd.longitude) {
    console.log('Congratulations, you reached the target');
    navigator.geolocation.clearWatch(id);
  }
}

function error(err) {
  console.warn('ERROR(' + err.code + '): ' + err.message);
}

target = {
  latitude : 0,
  longitude: 0
};

options = {
  enableHighAccuracy: false,
  timeout: 5000,
  maximumAge: 0
};

id = navigator.geolocation.watchPosition(success, error, options);

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

К сожалению, в настоящее время это невозможно с существующими веб-API.Существует спецификация w3c, но, похоже, она была заброшена:

https://www.w3.org/TR/geofencing/

Чтобы получить такую ​​функциональность, вам нужно будет создать собственное приложение.

0 голосов
/ 28 сентября 2018

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

...