ios cllocation

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 ) { .... }