Compass Class

Stellt einen Kompass-Sensor dar.

Dieser Sensor gibt eine Überschrift in Bezug auf den geografischen Norden und ggf. auf den magnetischen Norden zurück. (Letzteres ist von den Sensorfunktionen abhängig.)

Syntax


public sealed class Compass

Attribute

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]

Member

CompassKlasse hat diese Membertypen:

Ereignisse

CompassKlasse hat diese Ereignisse.

EreignisBeschreibung
ReadingChanged Occurs each time the compass reports a new sensor reading.

 

Methoden

The Compass Klasse hat diese Methoden. Mit C#, Visual Basic und C++ erbt es auch Methoden aus Object Klasse.

MethodeBeschreibung
GetCurrentReading Gets the current compass reading.
GetDefault Returns the default compass.

 

Eigenschaften

Der CompassKlasse hat diese Eigenschaften.

EigenschaftZugriffstypBeschreibung

MinimumReportInterval

SchreibgeschütztGets the minimum report interval supported by the compass.

ReportInterval

Lese-/SchreibzugriffGets or sets the current report interval for the compass.

 

Hinweise

Das folgende Beispiel zeigt, wie eine mit XAML und C# erstellte Windows Store-App die GetDefault-Methode verwendet, um eine Verbindung mit einem Kompass herzustellen. Wenn kein integrierter Kompass gefunden wird, gibt die Methode einen Nullwert zurück.


_compass = Compass.GetDefault();


Das folgende Beispiel veranschaulicht, wie eine mit XAML erstellte Windows Store-App einen ReadingChanged-Ereignishandler registriert.


private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_compass != null)
    {
        // Establish the report interval
        _compass.ReportInterval = _desiredReportInterval;

        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _compass.ReadingChanged += new TypedEventHandler<Compass, CompassReadingChangedEventArgs>(ReadingChanged);

        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;
    }
    else
    {
        rootPage.NotifyUser("No compass found", NotifyType.StatusMessage);
    }
}


Im folgenden Beispiel wird der ReadingChanged-Ereignishandler dargestellt.


async private void ReadingChanged(object sender, CompassReadingChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        CompassReading reading = e.Reading;
        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";
        }
    });
}


Anforderungen

Mindestens unterstützter Client

Windows 8 [Windows Store-Apps, Desktop-Apps]

Mindestens unterstützter Server

Keine unterstützt [Windows Store-Apps, Desktop-Apps]

Mindestens unterstütztes Telefon

Windows Phone 8

Namespace

Windows.Devices.Sensors
Windows::Devices::Sensors [C++]

Metadaten

Windows.winmd

Siehe auch

Kompass-Schnellstart
Kompass-Beispiel

 

 

Anzeigen:
© 2014 Microsoft