在iPhone上,我以十進制度數獲取用戶位置,例如:緯度39.470920和經度= -0.373192;這點A.以度爲單位的GPS座標來計算距離
我需要創建一個符合另一GPS座標,同樣在十進制度,點B.然後,從A到計算B和另一點的直線之間的距離(垂直)C.
問題是我與度數值混淆。我希望以米爲單位獲得結果。需要什麼轉換?最終公式將如何計算這個樣子?
在iPhone上,我以十進制度數獲取用戶位置,例如:緯度39.470920和經度= -0.373192;這點A.以度爲單位的GPS座標來計算距離
我需要創建一個符合另一GPS座標,同樣在十進制度,點B.然後,從A到計算B和另一點的直線之間的距離(垂直)C.
問題是我與度數值混淆。我希望以米爲單位獲得結果。需要什麼轉換?最終公式將如何計算這個樣子?
你的問題也找到一個線(A,B)和C點 我想,如果你3個CLLocations附近之間的最短線路(小於相隔幾公里),你可以算一算「好像」座標是單個平面上的點,並且在C++中使用this,或者使用this或this,並且僅使用CLLocations「好像」它們是平面上的x和y座標。
如果你的座標很遠,或者精確的準確性很重要,那麼地球的球形很重要,你需要在球面上使用great circle distance和其他幾何體。
爲什麼不使用CLLocation s distanceFromLocation:
方法?它會告訴你接收器和另一個CLLocation之間的精確距離。
CLLocation *locationA = [[CLLocation alloc] initWithLatitude:12.123456 longitude:12.123456];
CLLocation *locationB = [[CLLocation alloc] initWithLatitude:21.654321 longitude:21.654321];
CLLocationDistance distanceInMeters = [locationA distanceFromLocation:locationB];
// CLLocation is aka double
[locationA release];
[locationB release];
就這麼簡單。
我也有同樣的問題,這兩個答案都沒有解決這個問題。 RabinDev的答案越來越近,但他並沒有解決米轉換問題的程度。有小費嗎? –