Compass Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un sensore bussola.
Questo sensore restituisce un'intestazione rispetto al nord magnetico e, possibilmente, true nord. Quest'ultimo dipende dalle funzionalità di sistema.
Per un'implementazione di esempio, vedere l'esempio di bussola.
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
- Ereditarietà
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
Commenti
I dati del sensore vengono forniti in relazione al sistema di coordinate del sensore fisso del dispositivo ed è indipendente dall'orientamento dello schermo. Per le applicazioni che si basano sui dati del sensore per il controllo di input o per modificare gli elementi sullo schermo, lo sviluppatore deve prendere in considerazione l'orientamento di visualizzazione corrente e compensare i dati in modo appropriato. Per altre info sul sistema di coordinate del sensore, vedi Dati del sensore e orientamento dello schermo.
L'esempio seguente illustra come un'app UWP compilata con XAML e C# usi il metodo GetDefault per stabilire una connessione a una bussola. Se non viene trovata alcuna bussola integrata, il metodo restituirà un valore Null.
_compass = Compass.GetDefault();
L'esempio seguente illustra come un'app UWP compilata con XAML registra un gestore eventi 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);
}
}
Nell'esempio seguente viene illustrato il gestore eventi 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";
}
});
}
Cronologia delle versioni
Versione di Windows | Versione dell'SDK | Valore aggiunto |
---|---|---|
1709 | 16299 | FromIdAsync |
1709 | 16299 | GetDeviceSelector |
1709 | 16299 | MaxBatchSize |
1709 | 16299 | ReportLatency |
2004 | 19041 | ReportThreshold |
Proprietà
DeviceId |
Ottiene l'identificatore del dispositivo. |
MaxBatchSize |
Ottiene il numero massimo di eventi che possono essere inseriti in batch dal sensore. |
MinimumReportInterval |
Ottiene l'intervallo minimo di report supportato dalla bussola. |
ReadingTransform |
Ottiene o imposta la trasformazione che deve essere applicata ai dati del sensore. Le trasformazioni da applicare sono associate all'orientamento dello schermo con cui allineare i dati del sensore. |
ReportInterval |
Ottiene o imposta l'intervallo di rapporto corrente per la bussola. |
ReportLatency |
Ottiene o imposta il ritardo tra batch di informazioni sul sensore. |
ReportThreshold |
Ottiene la bussolaDataThreshold per il sensore bussola. |
Metodi
FromIdAsync(String) |
Ottiene in modo asincrono il sensore dal relativo identificatore. |
GetCurrentReading() |
Ottiene la lettura corrente della bussola. |
GetDefault() |
Restituisce la bussola predefinita. |
GetDeviceSelector() |
Ottiene il selettore del dispositivo. |
Eventi
ReadingChanged |
Si verifica ogni volta che la bussola segnala una nuova lettura del sensore. |