Compartilhar via


Compass Classe

Definição

Representa um sensor de bússola.

Este sensor retorna um título em relação ao Norte Magnético e, possivelmente, ao Verdadeiro Norte. (Este último depende dos recursos do sistema.)

Para obter um exemplo de implementação, consulte o exemplo da bússola.

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
Herança
Object Platform::Object IInspectable Compass
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Comentários

Os dados do sensor são fornecidos em relação ao sistema de coordenadas de sensor fixo do dispositivo e são independentes da orientação de exibição. Para aplicativos que dependem de dados do sensor para controle de entrada ou para manipular elementos na tela, o desenvolvedor deve levar em conta a orientação de exibição atual e compensar os dados adequadamente. Para obter mais informações sobre o sistema de coordenadas do sensor, consulte Dados do sensor e orientação de exibição.

O exemplo a seguir demonstra como um aplicativo UWP criado com XAML e C# usa o método GetDefault para estabelecer uma conexão com uma bússola. Se nenhuma bússola integrada for encontrada, o método retornará um valor nulo.

_compass = Compass.GetDefault();

O exemplo a seguir demonstra como um aplicativo UWP criado com XAML registra um manipulador de eventos 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);
    }
}

O exemplo a seguir mostra o manipulador de eventos 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";
        }
    });
}

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
1.709 16299 FromIdAsync
1.709 16299 GetDeviceSelector
1.709 16299 MaxBatchSize
1.709 16299 ReportLatency
2004 19041 ReportThreshold

Propriedades

DeviceId

Obtém o identificador do dispositivo.

MaxBatchSize

Obtém o número máximo de eventos que podem ser agrupados pelo sensor.

MinimumReportInterval

Obtém o intervalo mínimo de relatório com suporte pela bússola.

ReadingTransform

Obtém ou define a transformação que precisa ser aplicada aos dados do sensor. As transformações a serem aplicadas estão vinculadas à orientação de exibição com a qual alinhar os dados do sensor.

ReportInterval

Obtém ou define o intervalo de relatório atual para a bússola.

ReportLatency

Obtém ou define o atraso entre lotes de informações do sensor.

ReportThreshold

Obtém o CompassDataThreshold para o sensor de bússola.

Métodos

FromIdAsync(String)

Obtém de forma assíncrona o sensor de seu identificador.

GetCurrentReading()

Obtém a leitura da bússola atual.

GetDefault()

Retorna a bússola padrão.

GetDeviceSelector()

Obtém o seletor de dispositivo.

Eventos

ReadingChanged

Ocorre sempre que a bússola relata uma nova leitura do sensor.

Aplica-se a

Confira também