2011-06-10 54 views
0

我想2个corelocation对象之间计算这样的距离:为什么我没有得到两个corelocation之间的正确距离?

float meters = [destinationLocation distanceFromLocation:currentLocationNew]; 
distanceBtwTwoLocations = [NSString stringWithFormat:@"%f miles",meters]; 

但它没有给我确切的距离。为什么?我刚刚检查了控制台中的数值

currentLocationNew < +17.42369091,+ 78.43235230> +/- 0.00m(speed -1.00 mps/course -1.00)@ 10/06/11 12:43:59 PM印度标准时间

destinationLocation < 16.29850960,80.43364716> +/-0.00米(-1.00速度MPS /当然-1.00)@ 10/06/11下午12时44分07秒印度标准时间

distanceBtwTwoLocations247043英里

我错过了什么?

回答

2

247,043 英里是关于距离月球的距离,并且除非你整周往返十次(周长只有25,000英里),否则这个星球上没有两个点相距很远。

我很确定你的问题在于你选择显示的单位,特别是因为你使用的变量名是meters而不是miles。 247,000 只有大约250公里,在一辆快速汽车中持续几个小时,并且与您的纬度/经度值相匹配,至少大致相当。

您的值247,043必须为converted from meters to miles(1英里约为1609.344米),除以该值即可得到您期望的值,即153.5英里。

+0

不,我将精确的经度和纬度值给予2个corelocation对象..即使我没有得到确切的距离。 – Dee 2011-06-10 07:38:24

+0

@Dee,你认为它应该是正确的距离。这些坐标代表哪个城市? – paxdiablo 2011-06-10 07:39:51

+0

海德拉巴距离Guntur约153英里,显示为247,043英里。 – Dee 2011-06-10 07:43:14

1

你自己计算的正确距离是什么?

的距离以米为单位根据documentation

如果你需要使用英里,你只需要米转换为英里给出。