Compass Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |