Compass Class
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Provides Windows Phone applications access to the device’s compass sensor.
Inheritance Hierarchy
System..::.Object
Microsoft.Devices.Sensors..::.SensorBase<(Of <(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.
Syntax
Public NotInheritable Class Compass _
Inherits SensorBase(Of CompassReading)
public sealed class Compass : SensorBase<CompassReading>
<Compass .../>
The Compass type exposes the following members.
Constructors
Name | Description | |
---|---|---|
![]() |
Compass | Initializes a new instance of the Compass class. |
Top
Properties
Name | Description | |
---|---|---|
![]() |
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<(Of <(TSensorReading>)>).) |
![]() |
IsDataValid | Gets the validity of the sensor’s data. (Inherited from SensorBase<(Of <(TSensorReading>)>).) |
![]() ![]() |
IsSupported | Gets whether the device on which the application is running supports the compass sensor. |
![]() |
TimeBetweenUpdates | Gets or sets the preferred time between CurrentValueChanged events. (Inherited from SensorBase<(Of <(TSensorReading>)>).) |
Top
Methods
Name | Description | |
---|---|---|
![]() |
Dispose | Releases the managed and unmanaged resources used by the sensor. (Inherited from SensorBase<(Of <(TSensorReading>)>).) |
![]() |
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() |
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<(Of <(TSensorReading>)>).) |
![]() |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() |
GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() |
Start | Starts acquisition of data from the sensor. (Inherited from SensorBase<(Of <(TSensorReading>)>).) |
![]() |
Stop | Stops acquisition of data from the sensor. (Inherited from SensorBase<(Of <(TSensorReading>)>).) |
![]() |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Events
Name | Description | |
---|---|---|
![]() |
Calibrate | Occurs when the operating system detects that the compass needs calibration. |
![]() |
CurrentValueChanged | Occurs when new data arrives from the sensor. (Inherited from SensorBase<(Of <(TSensorReading>)>).) |
Top
Remarks
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 8.
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.
Capabilities
If you use this API in your app, you must specify the following capabilities in the app manifest. Otherwise, your app might not work correctly or it might exit unexpectedly.
ID_CAP_SENSORS |
Windows Phone 8, Windows Phone OS 7.1 |
For more info, see App capabilities and hardware requirements for Windows Phone 8.
Version Information
Windows Phone OS
Supported in: 8.1, 8.0, 7.1
Platforms
Windows Phone
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.