次の方法で共有


Compass.GetCurrentReading メソッド

定義

現在のコンパスの読み取り値を取得します。

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

戻り値

現在のコンパスの読み取り値。

次の例は、XAML と C# を使用して構築された UWP アプリが既定のコンパスの現在の見出しを取得する方法を示しています。

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

注釈

アプリケーションでは、このメソッドを使用して、 ReadingChanged イベント ハンドラーを登録する代わりに、現在の読み取り用のセンサーをポーリングできます。 これは、特定のフレーム レートでユーザー インターフェイスを更新するアプリケーションの推奨される代替手段です。 ポーリングが 1 回か複数回かにかかわらず、アプリケーションは目的の ReportInterval を確立する必要があります。 これにより、後続のポーリング要求を満たすためにリソースを割り当てる必要があることをセンサー ドライバーに通知します

戻り値は、度数で指定された磁気見出しです。

この値の精度は、コンパスの機能に依存します。

このメソッドの戻り値を使用する前に、アプリケーションは最初に値が null ではないことをチェックする必要があります。 (値が null で取得しようとすると、Windows によって例外が生成されます)。

適用対象