Partager via


Compass Classe

Définition

Représente un capteur de boussole.

Ce capteur retourne un titre par rapport au Nord magnétique et, éventuellement, à True North. (Ce dernier dépend des fonctionnalités du système.)

Pour obtenir un exemple d’implémentation, consultez l’exemple de boussole.

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
Héritage
Object Platform::Object IInspectable Compass
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Remarques

Les données du capteur sont fournies par rapport au système de coordonnées fixes du capteur de l’appareil et sont indépendantes de l’orientation de l’affichage. Pour les applications qui s’appuient sur des données de capteur pour le contrôle d’entrée ou pour manipuler des éléments à l’écran, le développeur doit prendre en compte l’orientation actuelle de l’affichage et compenser les données de manière appropriée. Pour plus d’informations sur le système de coordonnées du capteur, consultez Données du capteur et orientation de l’affichage.

L’exemple suivant montre comment une application UWP créée avec XAML et C# utilise la méthode GetDefault pour établir une connexion à une boussole. Si aucune boussole intégrée n’est trouvée, la méthode retourne une valeur null.

_compass = Compass.GetDefault();

L’exemple suivant montre comment une application UWP créée avec XAML inscrit un gestionnaire d’événements 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);
    }
}

L’exemple suivant montre le gestionnaire d’événements 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";
        }
    });
}

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1709 16299 FromIdAsync
1709 16299 GetDeviceSelector
1709 16299 MaxBatchSize
1709 16299 ReportLatency
2004 19041 ReportThreshold

Propriétés

DeviceId

Obtient l’identificateur de l’appareil.

MaxBatchSize

Obtient le nombre maximal d’événements pouvant être traités par lot par le capteur.

MinimumReportInterval

Obtient l’intervalle de rapport minimal pris en charge par la boussole.

ReadingTransform

Obtient ou définit la transformation qui doit être appliquée aux données du capteur. Les transformations à appliquer sont liées à l’orientation d’affichage avec laquelle aligner les données du capteur.

ReportInterval

Obtient ou définit l’intervalle de rapport actuel pour la boussole.

ReportLatency

Obtient ou définit le délai entre les lots d’informations du capteur.

ReportThreshold

Obtient le CompassDataThreshold pour le capteur de boussole.

Méthodes

FromIdAsync(String)

Obtient de manière asynchrone le capteur à partir de son identificateur.

GetCurrentReading()

Obtient la lecture actuelle de la boussole.

GetDefault()

Retourne la boussole par défaut.

GetDeviceSelector()

Obtient le sélecteur d’appareil.

Événements

ReadingChanged

Se produit chaque fois que la boussole signale une nouvelle lecture de capteur.

S’applique à

Voir aussi