Фоновое отслеживание местоположения GPS и оповещения

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

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

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

Я прочитал этот пост Фоновое отслеживание местоположения: iOS, в котором обсуждаются региональные оповещения. Просто надеюсь, что с тех пор появилось что-то новое.

Я смотрел на такие вещи, как Alohar api. И CLLocation.

Кто-нибудь может предположить, как работают напоминания?

Мне не нужен какой-то конкретный код. Просто некоторые общие указатели и идеи.

Я думаю, может быть, я делаю что-то вроде...

- Get user location
- Compare to list of GPS locations
- Narrow list to a reasonable radius from user
- Increase frequency of location checking if narrow.list > n
- Increase frequency of location checking if nearest_location < t
- Decrease frequency of location checking if narrow.list < n && nearest_location > t
- Decrease frequency of location checking if nearest_location > t
- Stop checking if user hasn't moved in x min.
- Start checking again when user starts moving x distance from stationary point.

Я не знаю. Просто мысли. Любая помощь приветствуется.

-m


person Mark A.    schedule 18.02.2015    source источник
comment
Извините, в основном я ищу, чтобы сохранить батарею и сделать это правильно. Я знаю, как запросить местоположение и все такое. Я ищу указатели на то, чтобы сделать это правильно для моих целей.   -  person Mark A.    schedule 19.02.2015