我經常使用distanceFromLocation
方法來獲取CLLocation
對象與其他位置的距離。枚舉CLLocations數組,然後使用此方法將每個數據與我的引用位置進行比較。distanceFromLocation方法如何工作?
我很想知道使用distanceFromLocation
的處理/內存影響,尤其是連續使用大量CLLocation
對象。這種方法如何工作 - 它連接到服務器以獲取數據,還是根據一些數學公式計算距離,如Haversine Formula?
是否有更有效的方法來比較1參考位置和CLLocation對象數組之間的距離?
應該注意的是,Haversine公式以及假定地球是球體的所有墨卡託公式(如Google,Apple和Bing地圖所用)均爲距離的近似值,不應用於GIS長度關鍵計算需要準確的地面測量。對於99%的應用程序來說,使用Haversine並且依賴於內置的計算已經足夠了,但對於大多數0.1%誤差的應用程序而言,它的誤差爲+/- 1m,這些誤差在很短的距離內遠離極點是很好的。如果你想死的準確,你需要計算UTM或朗伯投影的距離。 – JasonD 2013-05-17 18:24:41