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.");
}
});
| 表示内容: |
| 表示内容: |