信息
您所需的主题如下所示。但此主题未包含在此库中。
此主题尚未评级 - 评价此主题

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 类 具有这些方法。 对于 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

另请参见

罗盘快速入门
罗盘示例

 

 

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2014 Microsoft. 版权所有。