Экспо - повысить точность определения местоположения с Geofence - PullRequest
1 голос
/ 17 июня 2019

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

Ссылка на изображение

Если я запускаю следующие строки в файле app.js:

const taskName = "front_door";
const latLng = { latitude: -37.820711, longitude: 144.994264 };
const radius = 5;

Permissions.askAsync(Permissions.LOCATION);

Location.startGeofencingAsync(taskName, [
  {
    ...latLng,
    radius
  }
]);

TaskManager.defineTask(taskName, task => {
  if (task.data.eventType === Location.GeofencingEventType.Enter) {
    console.log("entered");
  }
  console.log(task.data.region.state);
  return;
});

, который возвращает entered и 1 ( объяснение ).Учитывая, что мое текущее местоположение находится за пределами геозоны, я ожидаю, что entered будет стрелять только тогда, когда у меня внутри геозоны и task.data.region.state будет равно 2 ( объяснение ).

Если я изменю:

const latLng = { latitude: -37.820711, longitude: 144.994264 };

На:

const latLng = { latitude: -37, longitude: 144 };

Геозона находится достаточно далеко, чтобы entered никогда не выводился, а task.data.region.state равняется 2.

Это наводит меня на мысль, что проблема связана с набором точности Location, однако я не могу найти способ повысить точность при использовании метода startGeofencingAsync.

Если я не использовал геозонуЯ хотел бы сделать что-то вроде этого:

Location.startLocationUpdatesAsync(taskName, { 
    accuracy: Location.Accuracy.Highest 
});     

Но я не вижу, как получить доступ к объекту параметров при использовании Location.startGeofencingAsync(taskName, regions)

Если вы знаете, как этого добиться, пожалуйста, дайте мнезнаю, как я выдергиваю волосы!Заранее спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...