Share via


Compass.GetCurrentReading Method

Definition

Gets the current compass reading.

public:
 virtual CompassReading ^ GetCurrentReading() = GetCurrentReading;
CompassReading GetCurrentReading();
public CompassReading GetCurrentReading();
function getCurrentReading()
Public Function GetCurrentReading () As CompassReading

Returns

The current compass reading.

Examples

The following example demonstrates how a UWP app built with XAML and C# retrieves the current heading for the default compass.

private void DisplayCurrentReading(object sender, object args)
{
    CompassReading reading = _compass.GetCurrentReading();
    if (reading != null)
    {
        ScenarioOutput_MagneticNorth.Text = String.Format("{0,5:0.00}", reading.HeadingMagneticNorth);
        if (reading.HeadingTrueNorth != null)
        {
            ScenarioOutput_TrueNorth.Text = String.Format("{0,5:0.00}", reading.HeadingTrueNorth);
        }
        else
        {
            ScenarioOutput_TrueNorth.Text = "No data";
        }
    }
}

Remarks

An application may use this method to poll the sensor for the current reading as an alternative to registering a ReadingChanged event handler. This would be the preferred alternative for an application that updates its user interface at a specific frame rate. Whether polling once or many times, the application must establish a desired ReportInterval. This informs the sensor driver that resources should be allocated to satisfy subsequent polling requests

The returned value is a magnetic heading specified in degrees.

The accuracy of this value is dependent on the capabilities of the compass.

Before using the return value from this method, the application must first check that the value is not null. (If the value is null and you attempt to retrieve it, Windows will generate an exception.)

Applies to