版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、地圖、定位定位:1、 info.plist文件設(shè)置ios8以后,使用定位需要在info.plist文件中添加兩個(gè)字段NSLocationAlwaysUsageDescription和NSLocationWhenInUseUsageDescription2、 導(dǎo)入CoreLocation.framework框架并導(dǎo)入頭文件#import <CoreLocation/CoreLocation.h>3、 判斷定位服務(wù)是否打開if (!CLLocationManager locationServicesEnabled) NSLog("定位不可用"); 4、 創(chuàng)建定位管理
2、器CLLocationManager *_manager = CLLocationManager allocinit;5、 判斷是否授權(quán),如果未授權(quán)則發(fā)送授權(quán)請(qǐng)求if (CLLocationManager authorizationStatus=kCLAuthorizationStatusNotDetermined) _manager requestWhenInUseAuthorization; 6、 設(shè)置代理(CLLocationManagerDelegate)_manager.delegate=self;7、 設(shè)置精度_manager.desiredAccuracy=kCLLocation
3、AccuracyBest;8、 設(shè)置定位頻率,多少米定位一次_manager.distanceFilter=10.0;9、 開始定位_manager startUpdatingLocation;10、 停止定位_manager stopUpdatingLocation;11、 代理方法-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error /定位失敗-(void)locationManager:(CLLocationManager *)manager didUpdateLocat
4、ions:(NSArray *)locations CLLocation *location = locations firstObject;CLLocationCoordinate2D coordinate=location.coordinate; NSLog("經(jīng)度:%f,緯度:%f,海拔:%f,航向:%f,行走速度:%f",coordinate.longitude,coordinate.latitude,location.altitude,location.course,location.speed); 地理編碼,根據(jù)地址得出經(jīng)緯度、詳細(xì)信息等 CLGeocoder
5、*geocode = CLGeocoder allocinit; geocode geocodeAddressString:"泰山" completionHandler:(NSArray *placemarks, NSError *error) CLPlacemark *place = placemarks firstObject; CLLocation *location = place.location;/位置 CLRegion *region = place.region;/區(qū)域 NSDictionary *dic = place.addressDictionary;
6、/詳細(xì)地址信息字典,包含以下字段 NSString *name=;/地名 NSString *thoroughfare=place.thoroughfare;/街道 NSString *subThoroughfare=place.subThoroughfare; /街道相關(guān)信息,例如門牌等 NSString *locality=place.locality; / 城市 NSString *subLocality=place.subLocality; / 城市相關(guān)信息,例如標(biāo)志性建筑 NSString *administrativeArea=place.administrat
7、iveArea; / 州 NSString *subAdministrativeArea=place.subAdministrativeArea; /其他行政區(qū)域信息 NSString *postalCode=place.postalCode; /郵編 NSString *ISOcountryCode=place.ISOcountryCode; /國(guó)家編碼 NSString *country=place.country; /國(guó)家 NSString *inlandWater=place.inlandWater; /水源、湖泊 NSString *ocean=place.ocean; / 海洋 N
8、SArray *areasOfInterest=place.areasOfInterest; /關(guān)聯(lián)的或利益相關(guān)的地標(biāo) ;反向地理編碼,根據(jù)經(jīng)緯度得出具體的地址信息 CLLocation *location=CLLocation allocinitWithLatitude:36.228 longitude:117.042; CLGeocoder *geocoder = CLGeocoder allocinit; geocoder reverseGeocodeLocation:location completionHandler:(NSArray *placemarks, NSError *er
9、ror) CLPlacemark *placemark=placemarks firstObject; NSLog("詳細(xì)信息:%",placemark.addressDictionary); ;地圖:1、 導(dǎo)入MapKit.framework,并導(dǎo)入#import <MapKit/MapKit.h>頭文件,實(shí)現(xiàn)MKMapViewDelegate協(xié)議2、 創(chuàng)建_mapView = MKMapView alloc initWithFrame:self.view.bounds;3、 設(shè)置代理_mapView.delegate = self;4、 是否顯示用戶位置_m
10、apView.showsUserLocation = YES;5、 用戶位置跟蹤_mapView.userTrackingMode = MKUserTrackingModeFollow;/可以省略,但是需要自己設(shè)置地圖的縮放級(jí)別6、 代理方法:獲取用戶當(dāng)前位置-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation MKCoordinateSpan span=MKCoordinateSpanMake(0.01, 0.01); MKCoordinateRegion region
11、=MKCoordinateRegionMake(userLocation.location.coordinate, span); _mapView setRegion:region animated:true;/設(shè)置地圖縮放級(jí)別7、 地圖顯示范圍發(fā)生改變-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated NSLog("地圖顯示范圍發(fā)生改變");8、 添加大頭針MKPointAnnotation *point = MKPointAnnotation allocinit;/初始化p
12、oint.title = "大頭針"/標(biāo)題point.subtitle = "我是大頭針"/子標(biāo)題point.coordinate = CLLocationCoordinate2DMake(36.236867, 117.054895);/經(jīng)緯度_mapView addAnnotation:point;9、 大頭針被點(diǎn)擊-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view NSLog("大頭針被點(diǎn)擊");10、 自定義大頭
13、針視圖-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation if (annotation isKindOfClass:MKPointAnnotation class) /判斷是不是自己添加的大頭針 static NSString *key1="AnnotationKey1" MKAnnotationView *annotationView=_mapView dequeueReusableAnnotationViewWithI
14、dentifier:key1;/獲取大頭針視圖 /如果緩存池中不存在則新建 if (!annotationView) annotationView=MKAnnotationView allocinitWithAnnotation:annotation reuseIdentifier:key1; annotationView.canShowCallout=true;/允許交互點(diǎn)擊 annotationView.calloutOffset=CGPointMake(0, 1);/定義詳情視圖偏移量 UIButton *button = UIButton buttonWithType:UIButton
15、TypeCustom; button.frame = CGRectMake(0, 0, 40, 40); button setBackgroundImage:UIImage imageNamed:"icon_classify_cafe.png" forState:UIControlStateNormal; annotationView.leftCalloutAccessoryView=button;/定義詳情左側(cè)視圖 /修改大頭針視圖 /重新設(shè)置此類大頭針視圖的大頭針模型(因?yàn)橛锌赡苁菑木彺娉刂腥〕鰜?lái)的,位置是放到緩存池時(shí)的位置) annotationView.annota
16、tion=annotation; annotationView.image=UIImage imageNamed:"icon_paopao_waterdrop_streetscape"/設(shè)置大頭針視圖的圖片 return annotationView; else return nil; 11、 大頭針左側(cè)或者右側(cè)視圖被點(diǎn)擊-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control i
17、f (control isKindOfClass:UIButton class) NSLog("121212"); 12、 調(diào)用系統(tǒng)自帶地圖進(jìn)行導(dǎo)航-(void)turnByTurn /根據(jù)“泰山學(xué)院”地理編碼 CLGeocoder *_geocoder = CLGeocoder alloc init; _geocoder geocodeAddressString:"泰山學(xué)院" completionHandler:(NSArray *placemarks, NSError *error) CLPlacemark *clPlacemark1=placema
18、rks firstObject;/獲取第一個(gè)地標(biāo) MKPlacemark *mkPlacemark1=MKPlacemark allocinitWithPlacemark:clPlacemark1; /注意地理編碼一次只能定位到一個(gè)位置,不能同時(shí)定位,所在放到第一個(gè)位置定位完成回調(diào)函數(shù)中再次定位 _geocoder geocodeAddressString:"山東省泰安市泰山站" completionHandler:(NSArray *placemarks, NSError *error) CLPlacemark *clPlacemark2=placemarks firstObject;/獲取第一個(gè)地標(biāo) MKPlacemark *mkPlacemark2=MKPlacemark allocinitWithPlacemark:clPlacemark2; NSDictionary *options=MKLaunchOptionsMapTypeKey:(MKMapTypeSt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 科學(xué)用棱鏡市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 螺旋扳手市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 云電子商務(wù)服務(wù)行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 書簽產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 建筑的施工和維修行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 纜車細(xì)分市場(chǎng)深度研究報(bào)告
- 太陽(yáng)鏡出租行業(yè)經(jīng)營(yíng)分析報(bào)告
- 花園水管用噴霧器項(xiàng)目營(yíng)銷計(jì)劃書
- 紙板棺材市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 裝有集成臺(tái)面的廚房水槽項(xiàng)目運(yùn)營(yíng)指導(dǎo)方案
- 2024年保安員證考試題庫(kù)及答案(共160題)
- 2024年大學(xué)試題(財(cái)經(jīng)商貿(mào))-統(tǒng)計(jì)預(yù)測(cè)與決策考試近5年真題集錦(頻考類試題)帶答案
- 主要負(fù)責(zé)人和安全生產(chǎn)管理人員安全培訓(xùn)課件初訓(xùn)修訂版
- 電動(dòng)汽車充電設(shè)施及場(chǎng)站測(cè)試評(píng)價(jià)規(guī)范第2部分:場(chǎng)站設(shè)施
- 重慶市拔尖強(qiáng)基聯(lián)盟2025屆高三上學(xué)期10月聯(lián)合考試地理含答案
- 2024220kV 預(yù)制艙式模塊化海上風(fēng)電升壓站
- 2024秋期國(guó)家開放大學(xué)《國(guó)家開放大學(xué)學(xué)習(xí)指南》一平臺(tái)在線形考(任務(wù)一)試題及答案
- 2024年新人教版道德與法治一年級(jí)上冊(cè) 9 作息有規(guī)律 教學(xué)課件
- 2024新人教版道法一年級(jí)上冊(cè)第二單元:過(guò)好校園生活大單元整體教學(xué)設(shè)計(jì)
- 2024年深圳技能大賽-鴻蒙移動(dòng)應(yīng)用開發(fā)(計(jì)算機(jī)程序設(shè)計(jì)員)職業(yè)技能競(jìng)賽初賽理論知識(shí)
- 大數(shù)據(jù)與會(huì)計(jì)專業(yè)實(shí)習(xí)報(bào)告?zhèn)€人小結(jié)
評(píng)論
0/150
提交評(píng)論