我正在实现一个应用程序,在该应用程序中我需要通过以下方式跟踪用户的位置:
我对这个问题的处理方法如下:
当应用程序位于前台时,这可以很好地工作,因为位置管理器返回的位置是准确的。
但是,如果应用程序在后台运行,则位置管理器将不会返回准确的位置,因为它是首次运行,并且返回的第一个坐标不准确。
问题是,当在后台触发 didExitRegion 时,如何获取用户的准确位置?
谢谢
最佳答案
可靠地启动didExitRegion:
并没有带来太多运气;它经常向远比我所在地区边缘射击的地方开火。
如果您仅需要每2公里左右的API调用,我建议您使用CLLocationManager
的 -startMonitoringSignificantLocationChanges
。如果您的准确性/精度很重要,只需将定位服务注册为必要的后台状态(在应用程序plist中为 UIBackgroundModes
;您可能还需要这样做,以使用来自后台的重要更改API),并使用常规的-startUpdatingLocation
, distanceFilter
实例上适当的 desiredAccuracy
和 CLLocationManager
字段值。
关于iphone - 从didExitRegion获取准确的坐标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12940579/