Sensor API の OrientationSensor インターフェースは、方向センサーの基本クラスです。このインターフェースを直接使用することはできません。代わりに、それを継承するインターフェースによってアクセスされるプロパティとメソッドを提供します。
機能ポリシーが機能の使用をブロックしている場合は、コードがサーバーに設定されているポリシーと矛盾していることが原因です。これは、ユーザーに表示されるものではありません。Feature-Policy HTTPヘッダーの記事には、実装手順が含まれています。
以下は、OrientationSensorインターフェースに基づくインターフェースのリストです。
const options = { frequency: 60, referenceFrame: 'device' }; const sensor = new AbsoluteOrientationSensor(options); sensor.addEventListener('reading', () => { // model is a Three.js object instantiated elsewhere. model.quaternion.fromArray(sensor.quaternion).inverse(); }); sensor.addEventListener('error', error => { if (event.error.name == 'NotReadableError') { console.log("Sensor is not available."); } }); sensor.start();
const sensor = new AbsoluteOrientationSensor(); Promise.all([navigator.permissions.query({ name: "accelerometer" }), navigator.permissions.query({ name: "magnetometer" }), navigator.permissions.query({ name: "gyroscope" })]) .then(results => { if (results.every(result => result.state === "granted")) { sensor.start(); ... } else { console.log("No permissions to use AbsoluteOrientationSensor."); } });
表示内容: |
表示内容: |