Web/API/Magnetometer

From Get docs


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.
MagnetometerThe definition of 'Magnetometer' in that specification. Candidate Recommendation  

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
Magnetometer

Chrome Full support 56

Disabled'

Full support 56

Disabled'

Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.

Edge Full support 79

Disabled'

Full support 79

Disabled'

Disabled' From version 79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to Enabled).

Firefox

No support No

IE

No support No

Opera Full support 43

Disabled'

Full support 43

Disabled'

Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to Enabled).

Safari

No support No

WebView Android

No support No

Chrome Android Full support 56

Disabled'

Full support 56

Disabled'

Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.

Firefox Android

No support No

Opera Android Full support 43

Disabled'

Full support 43

Disabled'

Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to Enabled).

Safari iOS

No support No

Samsung Internet Android

No support No

Magnetometer() constructor Chrome

Full support 56

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera

Full support 43

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

No support No

x Chrome

Full support 56

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera

Full support 43

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

No support No

y Chrome

Full support 56

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera

Full support 43

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

No support No

z Chrome

Full support 56

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera

Full support 43

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

No support No

Legend

Full support  
Full support
No support  
No support
User must explicitly enable this feature.'
User must explicitly enable this feature.