一、地圖的簡介 在移動互聯網時代,移動app能解決用戶的很多生活瑣事,比如: 導航:去任意陌生的地方。 周邊:找餐館、找酒店、找銀行、找電影院。 手機軟體:微信搖一搖、QQ附近的人、微博、支付寶等。 在上述應用中,都用到了地圖和定位功能,在iOS開發中,要想加入這兩大功能,必須基於兩個框架進行開發: ...
一、地圖的簡介
- 在移動互聯網時代,移動app能解決用戶的很多生活瑣事,比如:
- 導航:去任意陌生的地方。
- 周邊:找餐館、找酒店、找銀行、找電影院。
- 手機軟體:微信搖一搖、QQ附近的人、微博、支付寶等。
- 在上述應用中,都用到了地圖和定位功能,在iOS開發中,要想加入這兩大功能,必須基於兩個框架進行開發:
- Map Kit :用於地圖展示。
- Core Location :用於地理定位。
二、地圖定位(CoreLocation框架,地理編碼與反地理編碼)
1、CoreLocation框架的使用
- 導入頭文件:#import <CoreLocation/CoreLocation.h>
- 註意:
- CoreLocation框架中所有數據類型的首碼都是CL
- CoreLocation中使用CLLocationManager對象來做用戶定位
2、用戶隱私的保護
- 從iOS 7之後,蘋果在保護用戶隱私方面做了很大的加強,以下操作都必須經過用戶批准授權:
- ①要想獲得用戶的位置和訪問用戶的通訊錄、日曆、相機、相冊等等都需要用戶來手動授權。
- ②當想訪問用戶的隱私信息時,系統會自動彈出一個對話框讓用戶授權。
- 開發者可以在Info.plist中設置NSLocationUsageDescription說明定位的目的(Privacy - Location Usage Description),一旦用戶選擇了“Don’t Allow”,意味著你的應用以後就無法使用定位功能,為了嚴謹起見,最好在使用定位功能之前判斷當前應用的定位功能是否可用。
- CLLocationManager有個類方法可以判斷當前應用的定位功能是否可用:+ (BOOL)locationServicesEnabled;