Compass Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un sensor de brújula.
Este sensor devuelve un encabezado con respecto al norte magnético y, posiblemente, verdadero norte. (Este último depende de las funcionalidades del sistema).
Para ver una implementación de ejemplo, consulte el ejemplo de brújula.
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
- Herencia
- Atributos
Requisitos de Windows
Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
|
Comentarios
Los datos del sensor se proporcionan en relación con el sistema fijo de coordenadas del sensor del dispositivo y son independientes de la orientación de la pantalla. En el caso de las aplicaciones que dependen de los datos del sensor para el control de entrada o para manipular elementos en la pantalla, el desarrollador debe tener en cuenta la orientación de visualización actual y compensar los datos de forma adecuada. Para obtener más información sobre el sistema de coordenadas del sensor, consulta Orientación de visualización y datos del sensor.
En el ejemplo siguiente se muestra cómo una aplicación para UWP compilada con XAML y C# usa el método GetDefault para establecer una conexión a una brújula. Si no se encuentra ninguna brújula integrada, el método devolverá un valor NULL.
_compass = Compass.GetDefault();
En el ejemplo siguiente se muestra cómo una aplicación para UWP compilada con XAML registra un controlador 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);
}
}
En el ejemplo siguiente se muestra el controlador 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";
}
});
}
Historial de versiones
Versión de Windows | Versión del SDK | Valor agregado |
---|---|---|
1709 | 16299 | FromIdAsync |
1709 | 16299 | GetDeviceSelector |
1709 | 16299 | MaxBatchSize |
1709 | 16299 | ReportLatency |
2004 | 19041 | ReportThreshold |
Propiedades
DeviceId |
Obtiene el identificador del dispositivo. |
MaxBatchSize |
Obtiene el número máximo de eventos que el sensor puede procesar por lotes. |
MinimumReportInterval |
Obtiene el intervalo de informe mínimo admitido por la brújula. |
ReadingTransform |
Obtiene o establece la transformación que se debe aplicar a los datos del sensor. Las transformaciones que se van a aplicar están vinculadas a la orientación de visualización con la que se alinean los datos del sensor. |
ReportInterval |
Obtiene o establece el intervalo de informe actual para la brújula. |
ReportLatency |
Obtiene o establece el retraso entre lotes de información del sensor. |
ReportThreshold |
Obtiene compassDataThreshold para el sensor de brújula. |
Métodos
FromIdAsync(String) |
Obtiene de forma asincrónica el sensor de su identificador. |
GetCurrentReading() |
Obtiene la lectura de la brújula actual. |
GetDefault() |
Devuelve la brújula predeterminada. |
GetDeviceSelector() |
Obtiene el selector de dispositivos. |
Eventos
ReadingChanged |
Se produce cada vez que la brújula notifica una nueva lectura del sensor. |