09常用工具地圖與定位corelocation_第1頁
09常用工具地圖與定位corelocation_第2頁
09常用工具地圖與定位corelocation_第3頁
09常用工具地圖與定位corelocation_第4頁
09常用工具地圖與定位corelocation_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、CoreLocationiOS學(xué)院簡介在移動(dòng)互聯(lián)網(wǎng)時(shí)代,移動(dòng)app能解決用戶的很多生活瑣事,比如導(dǎo)航:去任意陌生的地方周邊:找餐館、找酒店、找銀行、找電影院在上述應(yīng)用中,都用到了地圖和定位功能,在iOS開發(fā)中,要想加入這2大功能,必須基于2個(gè)框架進(jìn)行開發(fā)Map Kit :用于地圖展示Core Location :用于地理定位2個(gè)熱門專業(yè)術(shù)語LBS :Location Based ServiceSoLoMo :Social Local Mobile(索羅門)CoreLocation框架的使用CoreLocation框架使用前提導(dǎo)入框架導(dǎo)入主頭文件#import CoreLocation框架使用須

2、知CoreLocation框架中所有數(shù)據(jù)類型的前綴都是CLCoreLocation中使用CLLocationManager對象來做用戶定位CLLocationManagerCLLocationManager的常用操作開始用戶定位- (void)startUpdatingLocation;停止用戶定位- (void) stopUpdatingLocation;當(dāng)調(diào)用了startUpdatingLocation方法后,就開始不斷地定位用戶的位置,中途會(huì)頻繁地調(diào)用代理的下面方法- (void)locationManager:(CLLocationManager *)manager didUpdate

3、Locations:(NSArray *)locations;locations參數(shù)里面裝著CLLocation對象CLLocationCLLocation用來表示某個(gè)位置的地理信息,比如經(jīng)緯度、海拔等等property(readonly, nonatomic) CLLocationCoordinate2D coordinate;經(jīng)緯度property(readonly, nonatomic) CLLocationDistance altitude;海拔property(readonly, nonatomic) CLLocationDirection course;路線,航向(取值范圍是0.0

4、 359.9,0.0代表真北方向)property(readonly, nonatomic) CLLocationSpeed speed;行走速度(單位是m/s)用- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location方法可以計(jì)算2個(gè)位置之間的距離CLLocationManagerproperty(assign, nonatomic) CLLocationDistance distanceFilter;每隔多少米定位一次property(assign, nonatomic) CLLocationAccura

5、cy desiredAccuracy;定位精確度(越精確就越耗電)CLLocationCoordinate2DCLLocationCoordinate2D是一個(gè)用來表示經(jīng)緯度的結(jié)構(gòu)體,定義如下typedef struct CLLocationDegrees latitude; / 緯度 CLLocationDegrees longitude; / 經(jīng)度 CLLocationCoordinate2D;一般用CLLocationCoordinate2DMake函數(shù)來創(chuàng)建CLLocationCoordinate2D經(jīng)緯度本初子午線穿過英國倫敦格林文治天文臺往東邊(右邊)走,是東經(jīng)(E)往西邊(左邊)

6、走,是西經(jīng)(W)東西經(jīng)各180,總共360赤道往北邊(上邊)走,是北緯(N)往南邊(下邊)走,是南緯(S)南北緯各90,總共180橫跨經(jīng)度緯度越大(1 111km)表示的范圍就越大在地圖上看到的東西就越小0經(jīng)線,本初子午線赤道天朝經(jīng)緯度城市經(jīng)度緯度北京E11628N3954廣州E11315N2308成都E10405N3039上海E12129N3114深圳E11346N2227武漢E11421N3037鄭州E11342N3448天朝的經(jīng)緯度范圍緯度范圍:N 351 N 5333經(jīng)度范圍:E 7333 E 13505天朝部分城市的經(jīng)緯度模擬位置如果是模擬器,需要設(shè)置模擬位置(經(jīng)緯度)天朝帝都的經(jīng)緯

7、度是:北緯40,東經(jīng)116用戶隱私的保護(hù)從iOS 6開始,蘋果在保護(hù)用戶隱私方面做了很大的加強(qiáng),以下操作都必須經(jīng)過用戶批準(zhǔn)授權(quán)要想獲得用戶的位置想訪問用戶的通訊錄、日歷、相機(jī)、相冊等等當(dāng)想訪問用戶的隱私信息時(shí),系統(tǒng)會(huì)自動(dòng)彈出一個(gè)對話框讓用戶授權(quán)用戶隱私的保護(hù)開發(fā)者可以在Info.plist中設(shè)置NSLocationUsageDescription說明定位的目的(Privacy - Location Usage Description)一旦用戶選擇了“Dont Allow”,意味著你的應(yīng)用以后就無法使用定位功能為了嚴(yán)謹(jǐn)起見,最好在使用定位功能之前判斷當(dāng)前應(yīng)用的定位功能是否可用CLLocation

8、Manager有個(gè)類方法可以判斷當(dāng)前應(yīng)用的定位功能是否可用+ (BOOL)locationServicesEnabled;用戶隱私的保護(hù)從iOS 8開始,用戶定位分兩種情況總是使用用戶位置:NSLocationAlwaysUsageDescription使用應(yīng)用時(shí)定位:NSLocationWhenInUseDescription當(dāng)想訪問用戶的隱私信息時(shí),系統(tǒng)會(huì)自動(dòng)彈出一個(gè)對話框讓用戶授權(quán)用戶隱私的保護(hù)開發(fā)者可以在Info.plist中設(shè)置NSLocationUsageDescription說明定位的目的(Privacy - Location Usage Description)一旦用戶選擇了“

9、Dont Allow”,意味著你的應(yīng)用以后就無法使用定位功能為了嚴(yán)謹(jǐn)起見,最好在使用定位功能之前判斷當(dāng)前應(yīng)用的定位功能是否可用CLLocationManager有個(gè)類方法可以判斷當(dāng)前應(yīng)用的定位功能是否可用+ (BOOL)locationServicesEnabled;CLGeocoder使用CLGeocoder可以完成“地理編碼”和“反地理編碼”地理編碼:根據(jù)給定的地名,獲得具體的位置信息(比如經(jīng)緯度、地址的全稱等)反地理編碼:根據(jù)給定的經(jīng)緯度,獲得具體的位置信息地理編碼方法- (void)geocodeAddressString:(NSString *)addressString compl

10、etionHandler:( pletionHandler)completionHandler;反地理編碼方法- (void)reverseGeocodeLocation:(CLLocation *)location completionHandler:( pletionHandler)completionHandler; pletionHandler當(dāng)?shù)乩矸吹乩砭幋a完成時(shí),就會(huì)調(diào)用 pletionHandlertypedef void ( pletionHandler)(NSArray *placemarks, NSError *error);這個(gè)block傳遞2個(gè)參數(shù)error :當(dāng)編碼出

11、錯(cuò)時(shí)(比如編碼不出具體的信息)有值placemarks :里面裝著CLPlacemark對象CLPlacemarkCLPlacemark的字面意思是地標(biāo),封裝詳細(xì)的地址位置信息property (nonatomic, readonly) CLLocation *location;地理位置property (nonatomic, readonly) CLRegion *region;區(qū)域property (nonatomic, readonly) NSDictionary *addressDictionary;詳細(xì)的地址信息property (nonatomic, readonly) NSString *name;地址名稱property (nonatomic, readonly) NSString *locality;城市CLLocation - 位置CLLocationCoordinate2D coordinateCLLocationDi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論