如何从我的应用程序中判断指南针是否有干扰并要求用户重新校准?

当有指南针干扰时,我想获得与谷歌 map 应用程序相同的行为。

谢谢。

最佳答案

实现 CLLocationManagerDelegate 方法以返回真值

-(BOOL)locationManagerShouldDisplayHeadingCalibration : (CLLocationManager *)manager {

    //do stuff

    return YES;
}

如果在通知您事件后检测到干扰,这将告诉 LocationManager 执行重新校准。

如果由于某种原因需要在覆盖层自动删除之前关闭覆盖层,请调用
- (void)dismissHeadingCalibrationDisplay

10-08 15:45