2016-05-14 20 views
0

コンパスの見出し(正確には、ジャイロ/加速度計を使用して偏差を計算する)の正確な値を取得しようとしています。スウィフト - 正確なコンパスの見出しを得る(磁気ヘッドと精度)

最初の結果の後に見出しを更新しないと、見出し値0.0が残っていますか?

正確な結果を得るためには、ある程度の位置情報サービスが必要ですが、newHeading.magneticHeadingの実装方法はわかりますか?

ヒント? @jtbandesにより示唆されるように

func locationManager(manager: CLLocationManager, 
    didUpdateHeading newHeading: CLHeading) { 
     referenceHeading = newHeading.magneticHeading 
     print("New reference heading = \(newHeading.magneticHeading)") 
     gotReferenceHeading = true 
     locationManager.stopUpdatingHeading() 
} 
+0

「stopUpdatingHeading」を呼び出すことはできませんか? – jtbandes

+0

しかし、いつ更新を停止するのですか? – Shane

+0

までです。たぶん 'headingAccuracy'と/あるいはそれがどのくらい頻繁に変化しているかに基づいていますか? – jtbandes

答えて

0

を(私はCLLocation ManagerでCoreLocationを使用しています)私は、headingAccuracyに基づくif文を追加しました。

if newHeading.headingAccuracy > 0 { 
    referenceHeading = newHeading.magneticHeading 
    gotReferenceHeading = true 
    locationManager.stopUpdatingHeading() 
} 

私は有用な結果が得られるまで、見出しの更新を受け取ります。

関連する問題