Compass Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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. |