0
`你好,我使用distanceFromLocation方法时,它总是返回零的问题。CLLocation distanceFromLocation always return 0
这里是我的代码片段:
NSArray *arrATMItem = [arrATMs objectAtIndex:indexPath.row];
cell.textLabel.text = [arrATMItem objectAtIndex:0];
float lat = [[arrATMItem objectAtIndex:1] floatValue];
float lon = [[arrATMItem objectAtIndex:2] floatValue];
CLLocation *branchLoc = [[CLLocation alloc] initWithLatitude:lat longitude:lon];
CLLocationDistance dist = [currentLocation distanceFromLocation:branchLoc];
NSLog(@"distance = %d",dist);
cell.detailTextLabel.text = [[NSString alloc] initWithFormat:@"%d m", dist];
我还检查了branchLoc和currentLoc实例具有正确的价值 这里的branchLog LAT的例子值:-6.17503957长:106.79891717 和currentLoc值LAT :-6.17603957长:106.79891717
branchLoc值从plist文件中检索,而currentLoc是从我的委托文件中定义的CLLocation locationUpdate方法的CLLocation类中获取的。
我试过使用%f,它也返回类似于0.00000 的任何想法,我做错了什么?
谢谢
我为其他人添加此评论,因为这是发生在我身上的事情。我正在使用我制作的测试位置。然而,他们是无效的(我混合了拉特和长)。您可以使用函数CLLocationCoordinate2DIsValid(currentLocation.coordinate)来确定坐标是否有效。 – Roberto 2016-02-11 18:03:42