objective-c - iOS 5 区域监控 : Can new regions be created based on users current coordinates from coreLocation?

标签 objective-c ios4 ios5 geolocation core-location

我的问题是关于在 iOS 5 中为区域监控创建区域。可以根据应用程序当前位置的用户创建新区域吗?或者所有区域都需要由开发人员在应用程序二进制文件中预定义吗?

我知道您可以根据用户当前位置注册某些区域,因为操作系统对手机/应用程序一次可以监控的区域数量进行了限制,并且您应该只注册附近的区域接近用户当前位置...但是可以根据用户位置动态创建区域(以前未定义)吗?

用例示例:

用户应用程序旋转 coreLocation 以获得一组准确的坐标,一旦我们获得准确的坐标,corelocation 就会关闭以节省电池。当用户离开该区域时需要发生一个事件,因此我们想知道用户何时移动 x 个单位的距离。是否可以在该用户当前位置周围创建 x 个距离单位的区域,以便我们可以开始监视是否退出区域?

我进行了大量研究,但找不到答案......不幸的是我对regionMonitoring不太熟悉。

谢谢:)

最佳答案

理论上,您可以随时监控任何区域,这些区域不需要预先定义,您可以使用以下代码来实际创建和监控您所需的区域,

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude);
CLRegion *region = [[CLRegion alloc] initCircularRegionWithCenter:center radius:50.0f identifier:identifier];
[self.locationManager startMonitoringForRegion:region desiredAccuracy:kCLLocationAccuracyBest];

PS:区域监控的实现并不像苹果宣传的那么有用,据我了解,它依赖于电池更换事件(再次节省电池)。即使对于 iPhone 4 和 4s 上默认提醒应用程序(基于位置的提醒)的结果,我也不满意。

关于objective-c - iOS 5 区域监控 : Can new regions be created based on users current coordinates from coreLocation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9946952/

相关文章:

iphone - 更新应用程序会删除文件吗?

iphone - iPhone应用程序是否存在于您的设备中?在iPod/iPhone设备上不起作用,仅在模拟器上起作用。

ios - iPhone : How to detect the end of slider drag?

ios5 - iCalendar 创建 : RFC 5546 explanation

iphone - iOS 如何决定向哪些对象发送 didReceiveMemoryWarning 消息?

iphone - 如何让点击返回按钮后键盘消失

iphone - 如何在负位置的 subview 上点击

ios - UILocalNotification 应该在每个工作日重复,但也会在周末触发

objective-c - 有没有办法使用数学符号?

iphone - 需要将 UIDatePickerMode 设置为 DateFormat [yyyy-mm-dd hh :mm]