This topic has not yet been rated - Rate this topic

Compass Class

Windows Phone

March 22, 2012

Provides Windows Phone applications access to the device’s compass sensor.

System.Object
  Microsoft.Devices.Sensors.SensorBase<CompassReading>
    Microsoft.Devices.Sensors.Compass

Namespace:  Microsoft.Devices.Sensors
Assembly:  Microsoft.Devices.Sensors (in Microsoft.Devices.Sensors.dll)
XMLNS for XAML: Not mapped to an xmlns.
public sealed class Compass : SensorBase<CompassReading>

The Compass type exposes the following members.

  Name Description
Public method Compass Initializes a new instance of the Compass class.
Top
  Name Description
Public property CurrentValue Gets an object that implements ISensorReading that contains the current value of the sensor. This object will be one of the following types, depending on which sensor is being referenced: AccelerometerReading, CompassReading, GyroscopeReading, MotionReading. (Inherited from SensorBase<TSensorReading>.)
Public property IsDataValid Gets the validity of the sensor’s data. (Inherited from SensorBase<TSensorReading>.)
Public property Static member IsSupported Gets whether the device on which the application is running supports the compass sensor.
Public property TimeBetweenUpdates Gets or sets the preferred time between CurrentValueChanged events. (Inherited from SensorBase<TSensorReading>.)
Top
  Name Description
Public method Dispose Releases the managed and unmanaged resources used by the sensor. (Inherited from SensorBase<TSensorReading>.)
Public method Equals (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from SensorBase<TSensorReading>.)
Public method GetHashCode (Inherited from Object.)
Public method GetType (Inherited from Object.)
Protected method MemberwiseClone (Inherited from Object.)
Public method Start Starts acquisition of data from the sensor. (Inherited from SensorBase<TSensorReading>.)
Public method Stop Stops acquisition of data from the sensor. (Inherited from SensorBase<TSensorReading>.)
Public method ToString (Inherited from Object.)
Top
  Name Description
Public event Calibrate Occurs when the operating system detects that the compass needs calibration.
Public event CurrentValueChanged Occurs when new data arrives from the sensor. (Inherited from SensorBase<TSensorReading>.)
Top

The compass, or magnetometer, sensor can be used to determine the angle by which the device is rotated relative to the Earth’s magnetic north pole. An application can also use raw magnetometer readings to detect magnetic forces around the device.

The compass uses a different axis to compute the heading, depending on the orientation of the device. For an example of how to determine which axis is being used, see How to: Get Data from the Compass Sensor for Windows Phone.

If you want to create an application that uses the device’s orientation in 3D space, you should use the RotationMatrix property of the Motion class.

Windows Phone OS

Supported in: 7.1

Windows Phone

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Did you find this helpful?
(1500 characters remaining)