Я уверен, что это обсуждалось много раз, но у меня возникли проблемы с поиском четкого ответа.
Пока приложение находится в фоновом режиме и есть массив 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