2015-06-05 38 views
1

設置自定義位置,我就出真航向指南針的應用程序工作(即引向真北)由蘋果文檔我可以在CLLocationManager在iPhone

重要 此屬性包含一個有效描述其使用位置僅當位置更新也針對相應的位置管理器對象啓用時才值。由於真北的位置與地球表面磁北的位置不同,因此核心位置需要設備的當前位置來計算此屬性的值。

什麼我想要做的是,如果用戶的設備沒有連接到互聯網或用戶拒絕的權限來訪問它的位置,然後我手動採取從用戶的座標,並給這些座標CoreLocation一個正確的真航向。這可能嗎?
在此先感謝!

+0

我也很舒服的obj- c代碼 – JProgrammer

+0

我不認爲你問的是可能的,你將不得不做第二個CLLocation或CLLocationCoordinate2D,並使用它,如果一個真正的座標不是可用。 – Arbitur

回答

3

你所要求的是不可能直接使用CoreLocation。使用LocationManager,如果你想要真北,你必須調用'startUpdatingLocation`,這樣標題可以以真北值返回。沒有手動設置LocationManager以供使用的位置的方法。

但是,您可以根據返回的磁性值計算真北方向。您可以讓用戶手動設置其常規位置,作爲設置的一部分,並在計算真北時將其存儲以供使用。您可以使用具有位置和磁偏角值的基本查找表。有點像真正的地圖和指南針會使用。但是,磁偏角值會隨着時間而改變,所以您需要一種方法來更新它。

如果你不熟悉磁偏角,這裏是一個pretty good link from REI這應該給你的基本概念。

這些鏈接提供了有關如何計算磁偏角的詳細信息:

NOAA - http://www.ngdc.noaa.gov/geomag/WMM/

的iOS - https://github.com/stephent/ObjectiveWMM

查找表 - http://www.societyofrobots.com/robotforum/index.php?topic=11855.0

+0

您提供的鏈接證明了您的答案 – JProgrammer

相關問題