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