2

見出しを使用するシンプルな iOS アプリがあります。ただし、精度が非常に悪い (10 ~ 25 度) ため、locationManagerShouldDisplayHeadingCalibration 関数を実装しました。ただし、呼び出されることはありません。これが私のコードです:

    ...
    locmanager = [CLLocationManager new];

    [locmanager setDelegate:self];
    [locmanager setDesiredAccuracy:kCLLocationAccuracyBest];
    [locmanager setHeadingFilter:kCLHeadingFilterNone];
    [locmanager setHeadingOrientation:CLDeviceOrientationLandscapeLeft|CLDeviceOrientationLandscapeRight];
    if ([CLLocationManager locationServicesEnabled])
    {

        [locmanager startUpdatingLocation];
        [locmanager startUpdatingHeading];
    }
    ...

- (void)locationManager:(CLLocationManager*)manager didUpdateHeading:(CLHeading*)newHeading
{
     // This one gets called
}

- (BOOL)locationManagerShouldDisplayHeadingCalibration:(CLLocationManager *)manager
{
     // This one does NOT get called
     NSLog ("Here");
     return YES;
}

コンパスのキャリブレーションを取得するにはどうすればよいですか? ありがとう。

4

2 に答える 2

0
  1. CLLocationManager requestAlwaysAuthorizationメソッドを見る

  2. 必要なキーをinfo.plistファイルに追加します (現在は必須)

    NSLocationAlwaysUsageDescription bla bla なぜ GPS を使用するのか。NSLocationWhenInUseUsageDescription bla bla なぜ GPS を使用するのか。

  3. メインUIスレッドでセットアップする必要があります!!

于 2015-02-09T04:30:19.457 に答える