ios - ¿Cómo comprobar que CLLocationCoordinate2D no está vacío?
(3)
Puede usar la constante kCLLocationCoordinate2DInvalid declarada en CLLocation.h
Inicializa tu variable con
CLLocationCoordinate2D myCoordinate = kCLLocationCoordinate2DInvalid;
y luego verifíquelo con:
if( myCoordinate == kCLLocationCoordinate2DInvalid ) {
NSLog(@"Coordinate invalid");
}
Adición:
A veces esto parece ser una solución aún mejor (como lo menciona Rick van der Linde en otra respuesta):
if (CLLocationCoordinate2DIsValid(myCoordinate)) {
NSLog(@"Coordinate valid");
} else {
NSLog(@"Coordinate invalid");
}
Adición para Swift:
Puedes hacer lo mismo en Swift como se muestra aquí:
let myCoordinate = kCLLocationCoordinate2DInvalid
if CLLocationCoordinate2DIsValid(myCoordinate) {
println("Coordinate valid")
} else {
println("Coordinate invalid")
}
¿Cómo comprobar que CLLocationCoordinate2D no está vacío?
Un tema muy antiguo, pero lo necesitaba ahora y solucioné mi problema con la ayuda de Klaas Hermanns, con un pequeño cambio.
En lugar de
if( myCoordinate == kCLLocationCoordinate2DInvalid ) {
NSLog(@"Coordinate invalid");
}
Tuve que usar
if (CLLocationCoordinate2DIsValid(myCoordinate)) {
NSLog(@"Coordinate valid");
} else {
NSLog(@"Coordinate invalid");
}
Tal vez esto ayude a alguien mas :)
Editar:
Como se señaló, la inicialización, tal como lo describe Klaas en su publicación, aún es necesaria.
if ( coordinate.latitude != 0 && coordinate.longitude != 0 )
{
....
}