Pregunta

Soy relativamente nuevo en Objective-C y realmente todavía no sé mucho al respecto, así que me disculpo por lo que probablemente sea una pregunta realmente amateur.

Estoy tratando de obtener el rumbo magnético de CLHeading y CLLocationDirection. Sin embargo, obtengo errores de compilación para esta línea de código:

locationLabel.text = [[[location course] magneticHeading] stringValue];

Los errores son:

warning: invalid receiver type 'CLLocationDirection'  
error: cannot convert to a pointer type

Realmente no entiendo lo que estoy haciendo mal aquí. Por favor ayuda!

¿Fue útil?

Solución

Estos son los pasos necesarios para usar la brújula.

1) verifique la disponibilidad: si la propiedad headerAvailable del administrador de ubicación es SÍ, puede usar la brújula.

2) use el método de administrador de ubicación - (void) startUpdatingHeading para comenzar a recibir la información que está buscando

3) realmente recupera esta información usando el método delegado (no olvides establecerte como delegado)

 - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading

Espero que esto ayude.

Otros consejos

magneticHeading es del tipo CLLocationDirection, que es simplemente un typedef para el tipo de datos primitivo " double " ;. ¡En su ejemplo, está tratando de enviar un mensaje a algo que no es un objeto! Simplemente debe formatear el doble así:

locationLabel.text = [NSString stringWithFormat: @ " Título% .3f " ;, [[curso de ubicación] título magnético]];

¿Cómo está asignando e inicializando location ? Asegúrese de que location esté definido como (CLLocationDirection *) y no solo como (CLLocationDirection) .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top