【问题标题】:Heading Calibration disappears?航向校准消失?
【发布时间】:2013-12-29 06:28:37
【问题描述】:

如果 GPS/Heading 处于活动状态,我的应用可能会长时间无人关注。为了管理校准指南针弹出窗口是否出现,我已经这样做了。

-(BOOL) locationManagerShouldDisplayHeadingCalibration:(CLLocationManager *)manager {
//    NSTimer *dismissHeadingSoon;
//    dismissHeadingSoon = [NSTimer scheduledTimerWithTimeInterval:200
//         target:self selector:@selector(removeHeadingCalibration:) userInfo:nil repeats:NO];
      return YES;
}

-(void) removeHeadingCalibration:(NSTimer *)timer {
    [locationManager dismissHeadingCalibrationDisplay];
}   

我想要一个计时器在一段时间后关闭弹出窗口(在上面注释掉)。我的问题是:校准屏幕现在只显示半秒钟就直接消失了?所以我的代码现在只说是,没有任何计时器启动。如果我删除委托,它会正常工作。

文档说 “返回值 YES,如果您想允许显示航向校准警报;如果您不这样做,则否。”

我做错了什么? (ios7 和 xcode 5.1)

【问题讨论】:

    标签: ios iphone objective-c gps heading


    【解决方案1】:

    与 Apple DTS 工程师讨论后发现,如果您还连接了位置管理器,则无法使用 mapView (MKUserTrackingModeFollow) 中的航向功能。您需要将 userTrackingMode 设置为 MKUserTrackingModeNone 并使用 MKMapCamera 显示来自位置管理器的标题的地图。当我实施 locationManagerShouldDisplayHeadingCalibration,我的代表最终与地图视图发生冲突,它们最终相互抵消。这就是为什么将其关闭会导致出现校准屏幕的原因。由于我的应用会在不注意的情况下使用数小时,因此取消校准屏幕很重要,这样我就可以两者兼得。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-14
      • 1970-01-01
      • 2020-10-31
      • 2020-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多