Back to Content

GravitySensor

files/en-us/web/api/gravitysensor/index.md

latest1.7 KB
Original Source

{{securecontext_header}}{{APIRef("Sensor API")}}

The GravitySensor interface of the Sensor APIs provides on each reading the gravity applied to the device along all three axes.

To use this sensor, the user must grant permission to the 'accelerometer' device sensor through the Permissions API. In addition, this feature may be blocked by a Permissions Policy set on your server.

{{InheritanceDiagram}}

Constructor

  • {{domxref("GravitySensor.GravitySensor", "GravitySensor()")}}
    • : Creates a new GravitySensor object.

Instance properties

Inherits properties from its ancestors, {{domxref('Accelerometer')}}, {{domxref('Sensor')}}, and {{domxref('EventTarget')}}.

Instance methods

GravitySensor doesn't have own methods. However, it inherits methods from its parent interfaces, {{domxref("Sensor")}} and {{domxref("EventTarget")}}.

Events

GravitySensor doesn't have own events. However, it inherits events from its parent interface, {{domxref('Sensor')}}.

Example

Gravity is typically read in the {{domxref('Sensor.reading_event', 'reading')}} event callback. In the example below this occurs sixty times a second.

js
let gravitySensor = new GravitySensor({ frequency: 60 });

gravitySensor.addEventListener("reading", (e) => {
  console.log(`Gravity along the X-axis ${gravitySensor.x}`);
  console.log(`Gravity along the Y-axis ${gravitySensor.y}`);
  console.log(`Gravity along the Z-axis ${gravitySensor.z}`);
});

gravitySensor.start();

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}