ユーザーのデバイスが指しているコンパスの方向を知る必要があるモバイル Web プロジェクトに取り組んでいます。今は信じられないほど簡単ですが、私が持っているものは次のとおりです。
var updateDirection = function (evt) {
$("#direction").val(evt.alpha);
};
window.addEventListener("deviceorientation", updateDirection);
これまでの調査に基づいて、イベントのアルファ チャネルはコンパスの位置である必要があります。ただし、OS とブラウザーに基づいてさまざまな実装があることを観察 (および読み取り) しました。
- 私の HTC スマートフォン、Chrome、またはデフォルトの Android ブラウザーでは、「自撮り」の位置で電話を完全に垂直に保持した場合にのみ、適切な読み取り (0 度 = 北、90 = 東など) が得られます。電話に対してどのような角度でも、測定値はかなり離れています。
- Chrome を使用している Surface Pro で、約 50 を超える読み取り値を取得できません。
- Edge を使用している私の Surface Pro では、非常に妥当な測定値が得られますが、それはデバイスをテーブルの上に置いているかのように水平に保持した場合のみです。
デバイスに関係なく、モバイル ブラウザーでコンパスの方向を取得したことがあると思われます。これを行うために使用できるライブラリはありますか? または、次の例のように、リストされているすべてのデバイスでも機能しなかった、さまざまな特定のシナリオに対して単純にコーディングする必要があります。