お世話になります。
問題
現在、端末の電子コンパスの情報を取得し、Webブラウザ上に表示した地図情報に重ねて、端末が向いている方向を表示するJavaScriptを書いております。
iPadのSafari上ではdeviceorientationのイベントにて電子コンパスの情報が取得できていたのですが、SurfaceのIEでは取得できないことを確認いたしました。そこで、geolocationのheadingで取得できないか合わせて確認しましたが、こちらも取得できませんでした。
似たようなことをしようとしている質問やページがないか探してみたのですが、これといったものがみつからずの状態です。
SurfaceのIEで電子コンパスの情報を取得することそのものが、不可能なのでしょうか?
ご存知の方、いらっしゃいましたらご教示いただけないでしょうか。
#ソース
var betaVal = 0.000; var directionVal = 0.000; window.addEventListener("deviceorientation", function(eventOrient) { // ベータ軸(仰角) betaVal = eventOrient.beta; if (betaVal == null) { console.log("betaVal is null"); betaVal = 0.0; } // 方位 directionVal = eventOrient.webkitCompassHeading; if (directionVal == null) { `IE上では常にnullになる` directionVal = 0.0; } }, true); var watchInit = false; if ( navigator.geolocation ) { // 現在地を取得 navigator.geolocation.watchPosition( function( position ) { var data = position.coords; var altitude = -1; if (data.altitude != null) { altitude = data.altitude; } if (data.heading != null) { `IE上では常にNaNになる` console.log("heading is" + data.heading); } else { console.log("heading is null"); } }, function( error ) { console.log("errorNo:" + error.code); }, { "enableHighAccuracy": false, "timeout": 8000, "maximumAge": 2000, } ); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/27 08:19 編集
2020/08/27 08:27