iPhoneが高精度で指し示す方向を知りたいのですが、私はCLLocationManagerを試しました:問題はCLHeading.magneticHeadingが例えば36.44323のようなdoubleを返しますが、デバイスの回転を開始するとCLLocationManagerは方向1度であるので、数字は36.44323、37.44323、38.44323のようになります。より正確にすることは可能ですか?iOSコンパスの見出しの度合い精度を取得することは可能ですか?
答えて
私が知っているわけではありません。
正確さと正確さを混同しないでください。ちょうどそれが36.44323と言っているのは、小数点以下5桁まで正確であるとは限りません。その値の誤差範囲は±1度かもしれません:(
iPhoneのコンパスは、
私は数の正確さに気にしないで、むしろ私はデバイスの方向に非常に小さな変化に興味がある、結果の数が整数ではなく倍である必要があります – sadegh
正確さは気にしないが、方向の小さな変化に興味があるなら、CMMotionManager
を見たいかもしれません。デバイスのattitude
(特にyaw
)を取得できるプロパティ(deviceMotion
)を使用してください。&磁気見出しの間に差異(例:x
)を記録することによって各見出しの更新では、更新の間のおおよその見出しをyaw + x
とすることができます。あなたはdeviceMotionUpdateInterval
を自分で設定できるので、CMMotionManager
からタイムリーなアップデートを受け取ります。
私はあなたが磁気見出しを返しますCLLocationManager
としてx
を計算する際度に戻って変換する必要がありますので、正しくyaw
値は-piとpiまでのラジアンで返された覚えている場合は、度(360から0)です。
あなたはおそらく同様にデバイスの向きの調整を行うことになるでしょう。コンパスはデバイスの上部から見出しデータを返します。したがって、あなたがlandscapeLeftにいる場合は、見出し値に90 °を引く必要があります。landscapeRight見出し値に90 °を追加する必要があり、portraitUpsideDownには180 ° 。
精度が必要な場合は、ジャイロを使用する必要があります。 CoreMotionのデバイスモーションデータが役立ちます。コンパスは本当に正確ではありません。
セットCLLocationManager
headingFilter
〜kCLHeadingFilterNone
またはデフォルトの1度未満のもの。
これは精度を向上させませんより頻繁に更新されます –
- 1. スウィフト - 正確なコンパスの見出しを得る(磁気ヘッドと精度)
- 2. 正規化後に0精度を得ることは可能ですか?
- 3. iOSでGPS位置の精度を得ることはできますか?
- 4. Androidでビデオの解像度を取得することは可能ですか?
- 5. OnevsRestクラシファイアを使用する場合、各クラシファイアの精度を知ることは可能ですか?
- 6. 妥当性検査の精度はトレーニングの精度と同じくらい高くすることは可能ですか?
- 7. ios 9でWi-Fi信号強度を取得することは可能ですか?
- 8. Keras:各モデル出力の精度を取得する
- 9. 精度で倍精度を出力する
- 10. Tensorflowで精度の代わりに精度と再呼び出しを得るには
- 11. 精度が低下する可能性はありますか?
- 12. MKMapViewの位置の精度を取得
- 13. 精度機能
- 14. Javaの単精度/倍精度は何ですか?
- 15. 3桁の精度で倍精度の値を四捨五入してエラーを取得する3
- 16. Android:(ここ)Nokia Mapsのドラッグ可能なマーカーの緯度/経度を取得しますか?
- 17. Cordovaでネットワーク精度(Cellular + WiFi)を取得
- 18. 逆算の精度と精度
- 19. 現在地の緯度と経度の値を1〜2メートルの精度で取得する方法
- 20. シンプルモデルは0.0の精度を得ます
- 21. なぜこの出力(整数と倍精度)が得られますか?
- 22. 可能なGoogleマイビジネスの住所から緯度と経度を取得
- 23. JS HTMLの検出/ Android用のコンパス見出しの取得
- 24. iosでの位置タイムスタンプの精度
- 25. Kerasでトレーニング精度の出力を取得するにはどうすればよいですか?
- 26. n番目の倍精度数値を取得するには
- 27. 秒精度でGPS位置を取得するには?
- 28. postgresqlカラムのデータ型、サイズ、精度、位取りを取得する
- 29. (NaN、NaN)GETで緯度と経度を取得する場合
- 30. BigDecimal、精度と位取り
あなたは 'kCLLocationAccuracyBestForNavigation'に' CLLocationManager'に 'desiredAccuracy'を設定することがありますか?これはジャイロなどの磁力計以上のものを利用します。多分、これはあなたのより良い精度を得るでしょうか? – larsacus
はい、テスト結果は同じですが、私はこれらも幸運ではなかった:1 - headingFilterを1未満に設定し、またそれをkCLHeadingFilterNoneに設定する、2 - CLLocationManagerデータを更新と3 - didUpdateHeadingメソッドの終了時にstopUpdatingHeadingを呼び出し、別のスレッドを使用して再度オンにしますが、結果が安定するまでに時間がかかるため、結果は信頼できません。 – sadegh