亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1545 | 回復(fù): 0
打印 上一主題 下一主題

指南針的設(shè)置和使用 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-05-26 14:27 |只看該作者 |倒序?yàn)g覽
指南針小demo

(1)設(shè)置背景圖片,設(shè)置指南針背景圖.
  1. //背景圖片
  2.     UIImageView* backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"BackGroundPad.png"]];
  3.     [self.view addSubview:backgroundImage];
  4.    
  5.     //創(chuàng)建指南針圖片
  6.     self.compassImageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"compass.png"]];
  7.    
  8.     self.compassImageView.center = CGPointMake(160 , 240);
  9.     [self.view addSubview:self.compassImageView];
復(fù)制代碼
(2)初始化位置管理器

指南針的使用離不開位置管理器,需要使用CLLocationManager,
  1. //初始化locationManager并設(shè)置代理類
  2.     self.locationManager = [[CLLocationManager alloc]init];
  3.     self.locationManager.delegate = self;
復(fù)制代碼
如果設(shè)備的探測器正常開啟,則進(jìn)行指南針相關(guān)設(shè)置,否則彈出alertView,進(jìn)行提示探測器無法使用.代碼如下:
  1. if ([CLLocationManager headingAvailable]) {
  2.         
  3.         //設(shè)置精度
  4.         self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
  5.         
  6.         //設(shè)置濾波器不工作
  7.         self.locationManager.headingFilter =  kCLHeadingFilterNone;
  8.         
  9.         //開始更新
  10.         [self.locationManager startUpdatingHeading];
  11.        // [self.locationManager startUpdatingLocation];
  12.         
  13.         _jiaoDu = [[UILabel alloc] initWithFrame:CGRectMake(140, 320, 60, 30)];
  14.         _jiaoDu.backgroundColor = [UIColor redColor];
  15.         _fangXiang = [[UILabel alloc] initWithFrame:CGRectMake(140, 360, 60, 30)];
  16.         _fangXiang.backgroundColor = [UIColor yellowColor];
  17.         [self.view addSubview:_jiaoDu];
  18.         [self.view addSubview:_fangXiang];
  19.     }
  20.     else
  21.     {
  22.         UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"提示" message:@"傳感器不可用" delegate:nil cancelButtonTitle:@"返回" otherButtonTitles: nil];
  23.         [alert show];
  24.     }
復(fù)制代碼
(3)執(zhí)行代理方法,實(shí)現(xiàn)實(shí)時(shí)顯示數(shù)據(jù)和方向
  1. //調(diào)用locationManager成員方法
  2. - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading

  3. {
  4.     //重置view的位置
  5.     self.compassImageView.transform = CGAffineTransformIdentity;
  6.     CGAffineTransform transform = CGAffineTransformMakeRotation(-1 * M_PI*newHeading.magneticHeading/180.0);
  7.     self.compassImageView.transform = transform;
  8.     _jiaoDu.text = [NSString stringWithFormat:@"%0.1f°",newHeading.magneticHeading];
  9.     _jiaoDu.textColor = [UIColor whiteColor];
  10.    
  11.     if ((newHeading.magneticHeading >= 0 && newHeading.magneticHeading <=22 )|| newHeading.magneticHeading > 337) {
  12.         _fangXiang.text = @"北";
  13.        // NSLog(@"____________北");
  14.     }else if (newHeading.magneticHeading > 22 && newHeading.magneticHeading <=67){
  15.         _fangXiang.text = @"東北";
  16.         // NSLog(@"____________東北");
  17.     }else if (newHeading.magneticHeading > 67 && newHeading.magneticHeading <=112){
  18.         _fangXiang.text = @"東";
  19.         // NSLog(@"____________東");
  20.     } else if (newHeading.magneticHeading > 112 && newHeading.magneticHeading <=157) {
  21.         _fangXiang.text = @"東南";
  22.         // NSLog(@"____________東南");
  23.     }else if (newHeading.magneticHeading > 157 && newHeading.magneticHeading <=202){
  24.         _fangXiang.text = @"南";
  25.          //NSLog(@"____________南");
  26.     }else if (newHeading.magneticHeading > 202 && newHeading.magneticHeading <=247){
  27.         _fangXiang.text = @"西南";
  28.          //NSLog(@"____________西南");
  29.     }else if (newHeading.magneticHeading > 247 && newHeading.magneticHeading <=292){
  30.         _fangXiang.text = @"西";
  31.        //  NSLog(@"____________西");
  32.     }else{
  33.         _fangXiang.text = @"西北";
  34.         // NSLog(@"____________西北");
  35.     }
  36.     _fangXiang.textColor = [UIColor whiteColor];
  37.     _fangXiang.textAlignment = 1;
  38.    
  39. }
復(fù)制代碼
(4)程序調(diào)試能夠正常使用.


備注:



   如果您確實(shí)需要使用Core Location框架,則務(wù)必控制在最小程度,且正確地配置位置服務(wù)。收集位置數(shù)據(jù)需要給主板上的接收裝置上電,并向基站、Wi-Fi熱點(diǎn)、或者GPS衛(wèi)星查詢,這個(gè)過程可能要花幾秒鐘的時(shí)間。此外,請求更高精度的位置數(shù)據(jù)可能需要讓接收裝置更長時(shí)間地處于打開狀態(tài),而長時(shí)間地打開這個(gè)硬件會(huì)耗盡設(shè)備的電池。如果位置信息不是頻繁變化,通?梢韵热〉贸跏嘉恢,然后每隔一段時(shí)間請求一次更新就可以了。如果您確實(shí)需要定期更新位置信息,也可以為位置服務(wù)設(shè)置一個(gè)最小的距離閾值,從而最小化代碼必須處理的位置更新。



取得用戶當(dāng)前位置首先要CLLocationManager類的實(shí)例,并用期望的精度和閾值參數(shù)進(jìn)行配置。開始接收通告則需要為該對象分配一個(gè)delegate,然后調(diào)用startUpdatingLocation方法來確定用戶當(dāng)前位置。當(dāng)新的位置數(shù)據(jù)到來時(shí),位置管理器會(huì)通知它的委托對象。如果位置更新通告已經(jīng)發(fā)送完成,您也可以直接從CLLocationManager對象獲取最新的位置數(shù)據(jù),而不需要等待新的事件。


您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP