iOS定位和位置資訊擷取,ios定位擷取

來源:互聯網
上載者:User

iOS定位和位置資訊擷取,ios定位擷取

要實現地圖、導航功能,往往需要先熟悉定位功能,在iOS中通過Core Location架構進行定位操作。Core Location自身可以單獨使用,和地圖開發架構MapKit完全是獨立的,但是往往地圖開發要配合定位架構使用。在Core Location中主要包含了定位、地理編碼(包括反編碼)功能。

定位是一個很常用的功能,如一些地圖軟體開啟之後如果使用者允許軟體定位的話,那麼開啟軟體後就會自動鎖定到當前位置,如果使用者手機移動那麼當前位置也會跟隨著變化。要實現這個功能需要使用Core Loaction中CLLocationManager類。首先看一下這個類的一些主要方法和屬性:

 

iOS 8 還提供了更加人性化的定位服務選項。App 的定位服務不再僅僅是關閉或開啟,現在,定位服務的啟用提供了三個選項,「永不」「使用應用程式期間」和「始終」。同時,考慮到能耗問題,如果一款 App 要求始終能在後台開啟定位服務,iOS 8 不僅會在首次開啟 App 時主動向你詢問,還會在日常使用中彈窗提醒你該 App 一直在後台使用定位服務,並詢問你是否繼續允許。在iOS7及以前的版本,如果在應用程式中使用定位服務只要在程式中調用startUpdatingLocation方法應用就會詢問使用者是否允許此應用是否允許使用定位服務,同時在提示過程中可以通過在info.plist中配置通過配置Privacy - Location Usage Description告訴使用者使用的目的,同時這個配置是可選的。
但是在iOS8中配置配置項發生了變化,可以通過配置NSLocationAlwaysUsageDescription或者NSLocationWhenInUseUsageDescription來告訴使用者使用定位服務的目的,並且注意這個配置是必須的,如果不進行配置則預設情況下應用無法使用定位服務,開啟應用不會給出開啟定位服務的提示,除非安裝後自己設定此應用的定位服務。同時,在應用程式中需要根據配置對requestAlwaysAuthorization或locationServicesEnabled方法進行請求。由於本人機器已經更新到最新的iOS8.1下面的內容主要針對iOS8,使用iOS7的朋友需要稍作調整。

 

 

下面我就總結了下定位功能的簡單實現。

定位和反查位置資訊要載入兩個動態庫 CoreLocation.framework 和 MapKit.framework 一個擷取座標一個提供反查

RootViewController的.h檔案中,

RootViewController的.m檔案中,

button的回應程式法,當點擊button的時候開始等位

 

locationManager的代理方法

 

 

iOS從6.0開始地圖資料不再由Google驅動,而是改用自家地圖,當然在國內它的資料是由高德地圖提供的。這樣一來,如果在iOS6.0之前進行地圖開發的話使用方法會有所不同,基於目前的情況其實使用iOS6.0之前版本的系統基本已經寥寥無幾了,所有在接下來的內容中不會再針對iOS5及之前版本的地圖開發進行介紹。

在iOS中進行地圖開發主要有兩種方式,一種是直接利用MapKit架構進行地圖開發,利用這種方式可以對地圖進行精準的控制;另一種方式是直接調用蘋果官方內建的地圖應用,主要用於一些簡單的地圖應用(例如:進行導航覆蓋物填充等),無法進行精確的控制。當然,本節重點內容還是前者,後面的內容也會稍加提示。

用MapKit之前需要簡單瞭解一下MapKit中地圖展示控制項MKMapView的的一些常用屬性和方法,具體如下表:

 

 

詳細請參考:http://www.cnblogs.com/kenshincui/p/4125570.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.