Compass Class

コンパスのセンサーを表します。

このセンサーは、真北、また多くの場合、磁北に対する方位を返します。(後者はセンサーの機能に依存しています)。

構文


public ref class Compass sealed 

属性

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

メンバー

Compassクラス には次の種類のメンバーがあります。

イベント

Compassクラス にはこれらのイベントがあります。

イベント説明
ReadingChanged Occurs each time the compass reports a new sensor reading.

 

メソッド

The Compass クラス には次のメソッドがあります。 With C#、Visual Basic、および C++ では、以下からもメソッドが継承されます。Object クラス.

メソッド説明
GetCurrentReading Gets the current compass reading.
GetDefault Returns the default compass.

 

プロパティ

Compassクラス には次のプロパティがあります。

プロパティアクセスの種類説明

MinimumReportInterval

読み取り専用Gets the minimum report interval supported by the compass.

ReportInterval

読み取り/書き込みGets or sets the current report interval for the compass.

 

解説

XAML および C# を使って構築した Windows ストア アプリが、GetDefault メソッドを使用してコンパスへの接続を確立する方法を次の例に示します。統合されたコンパスが検出されない場合、メソッドは null 値を返します。


_compass = Compass.GetDefault();


XAML でビルドされた Windows ストア アプリケーションが ReadingChanged のイベント ハンドラーを登録する方法を次の例に示します。


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);
    }
}


次の例は、ReadingChanged イベント ハンドラーを示しています。


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";
        }
    });
}


要件

最小限サポートされるクライアント

Windows 8 [Windows ストア アプリ, デスクトップ アプリ]

最小限サポートされるサーバー

サポートなし [Windows ストア アプリ, デスクトップ アプリ]

最小限サポートされる携帯電話

Windows Phone 8

名前空間

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

メタデータ

Windows.winmd

参照

Compass クイック スタート
Compass サンプル

 

 

表示:
© 2015 Microsoft