webkitCompassHeading

すばらしい記事を見つけました。感動。
恐縮ながらリンクさせ頂きました。

http://d.hatena.ne.jp/kazuph1986/20120429/1335693938
// 以下みたいな感じにしてやるとセカイカメラとかStarWalkみたいなアプリみたいな感じで使えます。
// iPhoneの画面を横向きにしてかつホームボタンが右側にある状態を想定
var screen_azimuth;
var screen_elevation;
window.ondeviceorientation = function(event) {
// 電子コンパスの情報を取得(0が北、90が東…)
var w = event.webkitCompassHeading – 270;
w = w < 0 ? 360 + w : w ;
// alphaは毎回0にリセットされるので値が0=北とは限らないので今回はおやすみ
//var a = 360 – (event.alpha);
var b =(event.beta);
// 真下を見たらg = -90°、真上を見たらg = 90°になるように変更
var g = (-(event.gamma) – 90 );
g = (g < -180) ? (g >= -270 ? g + 360 : g ) : g ;
g = (g > 90) ? 90 : ( g < -90 ? -90 : g );
// グローバルな変数に代入して他の関数で使ったりすればいいと思います
screen_azimuth = w ;
screen_elevation = g;
}
https://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/DeviceOrientationEv

カテゴリー: iOS5

関連記事