如何检查CLLocationCoordinate2D是否为空?

时间:2011-11-25 18:40:30

标签: ios cllocation

如何检查 CLLocationCoordinate2D不为空?

4 个答案:

答案 0 :(得分:133)

一个非常古老的话题,但我现在需要它,我在Klaas Hermanns的帮助下解决了我的问题,只做了一点点改变。

而不是

if( myCoordinate ==  kCLLocationCoordinate2DInvalid ) {
  NSLog(@"Coordinate invalid");
}

我必须使用

if (CLLocationCoordinate2DIsValid(myCoordinate)) {
  NSLog(@"Coordinate valid");
} else {
  NSLog(@"Coordinate invalid");
}

也许这会帮助别人:)

修改

正如所指出的,正如Klaas所述,初始化仍然是必要的。

答案 1 :(得分:56)

您可以使用CLLocation.h中声明的常量kCLLocationCoordinate2DInvalid

使用

初始化变量
CLLocationCoordinate2D myCoordinate = kCLLocationCoordinate2DInvalid;

然后用以下方法检查:

if( myCoordinate ==  kCLLocationCoordinate2DInvalid ) {
  NSLog(@"Coordinate invalid");
}

<强>增加:

有时这似乎是一个更好的解决方案(正如Rick van der Linde在另一个答案中提到的那样):

if (CLLocationCoordinate2DIsValid(myCoordinate)) {
    NSLog(@"Coordinate valid");
} else {
    NSLog(@"Coordinate invalid");
}

加入Swift:

你可以在Swift中做同样的事情,如下所示:

let myCoordinate = kCLLocationCoordinate2DInvalid

if CLLocationCoordinate2DIsValid(myCoordinate) {
    println("Coordinate valid")
} else {
    println("Coordinate invalid")
}

答案 2 :(得分:9)

if ( coordinate.latitude != 0 && coordinate.longitude != 0 )
{
    ....
}

答案 3 :(得分:0)

we simply need to run the npm install