Bagikan melalui


Compass Kelas

Definisi

Mewakili sensor kompas.

Sensor ini mengembalikan judul sehubungan dengan Magnetic North dan, mungkin, True North. (Yang terakhir tergantung pada kemampuan sistem.)

Untuk contoh implementasi, lihat sampel kompas.

public ref class Compass sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Compass final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Compass
Public NotInheritable Class Compass
Warisan
Object Platform::Object IInspectable Compass
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Keterangan

Data sensor disediakan relatif terhadap sistem koordinat sensor tetap perangkat, dan tidak bergantung pada orientasi tampilan. Untuk aplikasi yang mengandalkan data sensor untuk kontrol input atau untuk memanipulasi elemen di layar, pengembang harus mempertimbangkan orientasi tampilan saat ini dan mengimbangi data dengan tepat. Untuk informasi selengkapnya tentang sistem koordinat sensor, lihat Orientasi data sensor dan tampilan.

Contoh berikut menunjukkan bagaimana aplikasi UWP yang dibangun dengan XAML dan C# menggunakan metode GetDefault untuk membuat koneksi ke kompas. Jika tidak ada kompas terintegrasi yang ditemukan, metode akan mengembalikan nilai null.

_compass = Compass.GetDefault();

Contoh berikut menunjukkan bagaimana aplikasi UWP yang dibangun dengan XAML mendaftarkan penanganan aktivitas 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);
    }
}

Contoh berikut menunjukkan penanganan aktivitas 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";
        }
    });
}

Riwayat versi

Versi Windows Versi SDK Nilai ditambahkan
1709 16299 FromIdAsync
1709 16299 GetDeviceSelector
1709 16299 MaxBatchSize
1709 16299 Latensi Laporan
2004 19041 ReportThreshold

Properti

DeviceId

Mendapatkan pengidentifikasi perangkat.

MaxBatchSize

Mendapatkan jumlah maksimum peristiwa yang dapat di-batch oleh sensor.

MinimumReportInterval

Mendapatkan interval laporan minimum yang didukung oleh kompas.

ReadingTransform

Mendapatkan atau mengatur transformasi yang perlu diterapkan ke data sensor. Transformasi yang akan diterapkan terkait dengan orientasi tampilan untuk menyelaraskan data sensor.

ReportInterval

Mendapatkan atau mengatur interval laporan saat ini untuk kompas.

ReportLatency

Mendapatkan atau mengatur penundaan antara batch informasi sensor.

ReportThreshold

Mendapatkan CompassDataThreshold untuk sensor kompas.

Metode

FromIdAsync(String)

Secara asinkron mendapatkan sensor dari pengidentifikasinya.

GetCurrentReading()

Mendapatkan pembacaan kompas saat ini.

GetDefault()

Mengembalikan kompas default.

GetDeviceSelector()

Mendapatkan pemilih perangkat.

Acara

ReadingChanged

Terjadi setiap kali kompas melaporkan pembacaan sensor baru.

Berlaku untuk

Lihat juga