Magnetometer

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 Magnetometer object.

Properties

Magnetometer.x Read only
Returns a double containing the magnetic field around the device's x axis.
Magnetometer.y Read only
Returns a double containing the magnetic field around the device's y axis.
Magnetometer.z Read 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

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
MagnetometerChrome Full support 69Edge Full support ≀79Firefox ? IE ? Opera Full support 56Safari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android ? Opera Android Full support 48Safari iOS ? Samsung Internet Android Full support 10.0
Magnetometer() constructorChrome Full support 69Edge Full support ≀79Firefox ? IE ? Opera Full support 56Safari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android ? Opera Android Full support 48Safari iOS ? Samsung Internet Android Full support 10.0
xChrome Full support 69Edge Full support ≀79Firefox ? IE ? Opera Full support 56Safari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android ? Opera Android Full support 48Safari iOS ? Samsung Internet Android Full support 10.0
yChrome Full support 69Edge Full support ≀79Firefox ? IE ? Opera Full support 56Safari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android ? Opera Android Full support 48Safari iOS ? Samsung Internet Android Full support 10.0
zChrome Full support 69Edge Full support ≀79Firefox ? IE ? Opera Full support 56Safari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android ? Opera Android Full support 48Safari iOS ? Samsung Internet Android Full support 10.0

Legend

Full support
Full support
Compatibility unknown
Compatibility unknown