次のコードスニペットのアルファ値は、デバイスの回転に応じて0から360の間で変化する必要があります。
window.addEventListener('deviceorientation', function(eventData) {
var LR = eventData.gamma;
var FB = eventData.beta;
var DIR = eventData.alpha;
deviceOrientationHandler(LR, FB, DIR);
});
この変動は、それが向いている風向に依存するはずです。これを達成するために、デバイスは磁力計/コンパスを利用します。
これをiPad3でテストしたところ、次の問題が発生しました。
0から360まで変化しますが、相対的な方法です。ページはロードされると0を示し、その後0から360の間で変化します。しかし、デバイスが回転してページが更新されると、再び0が表示され、これらの値の間で変化します。
それは風向に従うべきであり、私は北がどこにあるかを見つけようとしているので、相対的な方法ではなく絶対的な方法でこれを行う必要があります。AKA:ページが読み込まれるときにデバイスがいつ、どの方向を向いているかに関係なく、どこかを向いているときは常に同じ値を表示します。
これらのソースは、APIがこれに対応できる必要があることを示しています。
そしてこれ:
そして、これが北を向いているときに「方向」が0である(または少なくとも一貫した値を返す)必要がある例です。
html5rocksページには例が含まれています(ctrl + fおよび「試してみてください」)。2つ以上のURLを投稿することはできません
これは、デバイスが向いている風向を示す正しい方法ですか?これをGoogleMapsApiと組み合わせて使用する必要があります。
そして最後に、私はIpad 3用のコンパスアプリがあることを知っているので、デバイスはこれを行うことができるはずです。
私は混乱しています :)