2010-10-30 91 views
0

我有一堆機場,地理座標存儲在glist中。使用CLLocationManager查找最近的位置

然後我使用CLLocationManager來獲取當前位置。

我現在想通過在爲Glist每個項目,並將其與當前的位置和順序機場從最接近最遠。

我的算法很糟糕 - 有什麼想法嗎?

回答

1

如果你有CLLocation情況下,你可以使用得到他們的相對距離

- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location 

現在你寫:

我的算法很爛 - 任何想法?

那麼,什麼是你的算法?爲什麼它吸?你有任何代碼?

從高層次的角度來看,我會做這樣的:

  1. 計算每個機場的distace從澳CURENT距離(n),其中n爲座標的數
  2. 排序座標使用一些穩定的算法,如QuickSort(... NSArray的排序應該工作正常...),它需要O(n * log n),或使其工作,以便您可以使用基數排序在O(n)

是有一個原因這是行不通的? :)