我确定已多次讨论这个问题,但我找不到明确的答案。
当应用程序在后台以及gps坐标数组时,如何监控用户的当前位置并与列表进行比较,在用户距离他们一定距离时提醒用户。列表中的位置可能有数千个,可能位于全球各地。
就像当你靠近你选择的位置时,提醒会提醒你,但在这种情况下,用户不会选择位置。
我已阅读此帖Background location tracking: iOS,其中讨论了区域提醒。只是希望从那时起出现新的东西。
我看过像Alohar api这样的东西。和CLLocation。
任何人都可以猜测Reminders是如何运作的吗?
我不需要任何特定代码。只是一些一般性的指示和想法。
我在思考,也许我会做一些......
- 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