计算两组坐标之间的距离(NSStrings)

时间:2012-12-16 02:12:41

标签: objective-c ios xcode nsstring cllocationmanager

我有两组地理坐标,我正在尝试计算它们之间的距离。我已经做了一些挖掘,但无法弄清楚如何做到这一点。我试图获得用户(userLatitude / userLongitude)和地点(placeLatitude / placeLongitude)之间的距离。我的坐标存储为NSStrings,如下所示。有谁知道如何做到这一点?谢谢你们!

NSString *userLatitude =[(PDCAppDelegate *)[UIApplication sharedApplication].delegate 
getUserLatitude];

NSString *userLongitude =[(PDCAppDelegate *)[UIApplication sharedApplication].delegate 
getUserLongitude];

NSString *placeLatitude = [element1 objectForKey:@"placeLatitude"];

NSString *placeLongitude = [element1 objectForKey:@"placeLongitude"];

2 个答案:

答案 0 :(得分:6)

这可能会对你有所帮助。尝试从lat中创建CLLocation,你有

CLLocation* Location1;
CLLocation* Location2;
CLLocationDistance distance = [Location1 distanceFromLocation:Location2];

答案 1 :(得分:0)

从下面你可以得到距离。

CLLocation *locA = [[CLLocation alloc] initWithLatitude:currentLocation.latitude longitude:currentLocation.longitude];

CLLocation *locB = [[CLLocation alloc] initWithLatitude:[[element1 objectForKey:@"placeLatitude"] doubleValue]  longitude:[[element1 objectForKey:@"placeLongitude"] doubleValue]];

CLLocationDistance currentDistance = [locA distanceFromLocation:locB];