コンパスが目的地への方向を示す拡張現実のプロジェクトを開発しています。これは正常に機能しますが、現在の方向が目的地に向かっているかどうかを確認したいと思います。誰でもそれを行う方法を提案できますか? 私はGoogleでたくさん検索しましたが、方法が見つかりませんでしたか?
前もって感謝します
現在地から目的地までの絶対方位が必要です
残念ながら CLLocation にはこれに対する呼び出しはありませんが、この質問でアルゴを見つけることができます。
Haversine 関数を使用して方位を計算するための CLLocation カテゴリ
方位が 90 度であるとしましょう
次に、電話の方位を北に向けます。
場所の更新を取得している間、CLLocation でコースの更新も行います。
コースも90度かもしれません
だから、2つの違いを見つけてください.90 - 90 = 0! あなたは目標に向かって死んでいます:)あなたが北(0度)を向いていて、あなたの目標があなたの後ろ(180度)にあり、結果が-180であると言う場合、数字を0から360に合理化する必要があります. 負の数になる場合は、360 を足すだけです。
磁場コンパスは非常に気まぐれであることがわかったので、携帯電話の方位の変化にある種の指数移動平均があると、見栄えがよくなります。