2016年8月18日 星期四

[Objective-C] 取得使用者當前座標的方法

有時候會需要使用者當前的座標,該如何取得呢?

首先先拉一個簡單的顯示畫面。

















當按下GetUserCoordinates的時候,會取得使用者當前的座標。

接著你必須要加入CoreLocation這個framework。

點選專案,在General標籤最底下的Linked Frameworks And Libraries中的加號。


接著搜尋CoreLocation,並加入到你的專案之中




























接著你必須在info.plist之中,依照的你需求加入以下兩個值

永遠使用使用者的位置(包含背景)
NSLocationAlwaysUsageDescription

當開啟App時取得使用者的位置
NSLocationWhenInUseUsageDescription

當然,你也可以兩個都加。


而Value,如果有特別想顯示的文字可以輸入,當取用位置時,會顯示你所輸入的文字,提醒使用者這個App會取得你的位置了。

當然,如果不輸入任何文字,則會顯示系統預設的資訊。

在你的.h檔案中,import <CoreLocation/CoreLocation.h>,

並且增加CLLocationManagerDelegate到你的class之中。

你的.h檔案可能會像以下的樣子。



接著來實作按鈕的事件,當點下去的時候,

會先跳出請求,告知使用者要取用他的位置了,之後在開始取得。

而請求的種類也有分兩種,看你想要跳出哪種資訊。



接著,你要實作CLLocationManagerDelegate這個Protocol。



如此一來,你就可以取得使用者當前的座標了。

執行時,當按下按鈕,會跑出這個提醒訊息



























如果你的模擬器點了毫無反應,可以點選下方的箭頭符號,來切換模擬器當前的位置












如果你想要這篇文章的範例檔,可以到我的GitHub下載

https://github.com/Aiur3908/ObjectiveC-SampleCode

裡面的GetUserCoordinates就是這篇的例子