2011-06-10 52 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

如果你需要使用英里,你只需要米轉換爲英里給出。