iphone - 位置管理器 :didEnterRegion: only getting called when moving from certain locations

标签 iphone ios core-location

我正在使用 CLLocationManager 的 startMonitoringForRegion:desiredAccuracy: 监控一个区域。我确信该区域已正确添加到位置管理器的 monitoredRegions 中。

我设置它时我的模拟器位置设置得离它很远(准确地说是 2.3 公里)。然后我按下主页按钮,并将模拟器的位置更改为我为其设置地理围栏的位置。 locationManager:didEnterRegion: 没有被调用。如果我尝试从 4.3 公里外的另一个位置移动到这个位置,结果相同。

似乎有一些我无法接受的阈值,因为 locationManager:didEnterRegion: 在从 7 公里及以上的其他位置移动时被调用。 但是我的 CLRegion 的半径是 100 m。这可能是什么问题?

最佳答案

这确实只是一个大胆的猜测,但我想知道这是否是位置管理器试图通过看似跳跃的位置来减少误报的结果。我想在应用程序退出时更改模拟器中的位置可能会在位置管理器看来是不符合所需精度的位置更新,因此在考虑您是否实际进入新区域时忽略它。

您是否尝试过模拟城市自行车骑行或高速公路驾驶,看看它们是否有所不同?我只想尽快在设备上进行测试。

关于iphone - 位置管理器 :didEnterRegion: only getting called when moving from certain locations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11624429/

相关文章:

iPhone SDKreachabilityWithAddress问题

iphone - 如何在 iphone 中打印十进制值?

iphone - 如何设置 UITableView 部分以每 5 行单元格开始新部分

ios - 这段 Swift 代码在做什么? func somefunc(其中 : (_: NSLayoutConstraint) -> Bool)

iPhone开发-从用户位置定位地址

Apple map 的 iOS 搜索 API

ios - 支持 iOS 11 位置权限,同时在 iOS 10 上不允许 "when in use"

iphone - UIScrollView 内容 View 的框架大小没有一致变化?

iOS加入多张图片

ios - 如何将两个m4a音频文件一起 “Mix/Superimpose”