如何检查 CLLocationCoordinate2D不为空?
答案 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