1

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

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

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

4

1 回答 1

2

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

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

于 2012-07-24T05:14:14.187 回答