The Magnetometer interface of the Sensor APIs provides information about the magnetic field as detected by the deviceβs primary magnetometer sensor.
To use this sensor, the user must grant permission to the 'magnetometer' device sensor through the Permissions API.
If a feature policy blocks use of a feature, it's because your code is inconsistent with the policies set on your server. This is not something that would ever be shown to a user. See Feature-Policy for implementation instructions.
Constructor
Magnetometer.Magnetometer()- Creates a new
Magnetometerobject.
Properties
Magnetometer.xRead only- Returns a double containing the magnetic field around the device's x axis.
Magnetometer.yRead only- Returns a double containing the magnetic field around the device's y axis.
Magnetometer.zRead only- Returns a double containing the magnetic field around the device's z axis.
Example
The magnetometer is typically read in the Sensor.onreading event callback. In the example below this occurs sixty times a second.
let magSensor = new Magnetometer({frequency: 60});
magSensor.addEventListener('reading', e => {
console.log("Magnetic field along the X-axis " + magSensor.x);
console.log("Magnetic field along the Y-axis " + magSensor.y);
console.log("Magnetic field along the Z-axis " + magSensor.z);
});
magSensor.start();
Specifications
| Specification | Status | Comment |
|---|---|---|
| Generic Sensor API | Candidate Recommendation | Defines sensors in general. |
| Magnetometer The definition of 'Magnetometer' in that specification. |
Candidate Recommendation |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Magnetometer | Chrome Full support 69 | Edge Full support β€79 | Firefox ? | IE ? | Opera Full support 56 | Safari ? | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox Android ? | Opera Android Full support 48 | Safari iOS ? | Samsung Internet Android Full support 10.0 |
Magnetometer() constructor | Chrome Full support 69 | Edge Full support β€79 | Firefox ? | IE ? | Opera Full support 56 | Safari ? | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox Android ? | Opera Android Full support 48 | Safari iOS ? | Samsung Internet Android Full support 10.0 |
x | Chrome Full support 69 | Edge Full support β€79 | Firefox ? | IE ? | Opera Full support 56 | Safari ? | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox Android ? | Opera Android Full support 48 | Safari iOS ? | Samsung Internet Android Full support 10.0 |
y | Chrome Full support 69 | Edge Full support β€79 | Firefox ? | IE ? | Opera Full support 56 | Safari ? | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox Android ? | Opera Android Full support 48 | Safari iOS ? | Samsung Internet Android Full support 10.0 |
z | Chrome Full support 69 | Edge Full support β€79 | Firefox ? | IE ? | Opera Full support 56 | Safari ? | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox Android ? | Opera Android Full support 48 | Safari iOS ? | Samsung Internet Android Full support 10.0 |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown
