Develop
2014.05.24 20:19
[ios] 아이폰 GPS 사용하기
조회 수 4574 댓글 0
GPS 사용을 위해서 CoreLocation.framework 프레임워크를 추가하고 아래 코드처럼..
# LocationServiceViewController.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #import <UIKit/UIKit.h> #import <CoreLocation/CoreLocation.h> @interface LocationServiceViewController : UIViewController <CLLocationManagerDelegate> { CLLocationManager *locationManager; IBOutlet UILabel *latitude; IBOutlet UILabel *longitude; IBOutlet UILabel *Heading; } @property ( nonatomic , retain ) CLLocationManager *locationManager; @property ( nonatomic , retain ) IBOutlet UILabel *latitude; @property ( nonatomic , retain ) IBOutlet UILabel *longitude; @property ( nonatomic , retain ) IBOutlet UILabel *Heading; @end |
# LocationServiceViewController.m
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | #import "LocationServiceViewController.h" @implementation LocationServiceViewController @synthesize locationManager; @synthesize latitude; @synthesize longitude; @synthesize Heading; // Implement viewDidLoad to do additional setup after loading the view, // typically from a nib. - ( void )viewDidLoad { [ super viewDidLoad]; self .locationManager = [[CLLocationManager alloc] init]; self .locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters; self .locationManager.delegate = self ; [ self .locationManager startUpdatingLocation]; [ self .locationManager startUpdatingHeading]; CLLocation *curPos = self .locationManager.location; // 위도 NSNumber *nLatitude = [ NSNumber numberWithDouble:curPos.coordinate.latitude]; // 경도 NSNumber *nLongitude = [ NSNumber numberWithDouble:curPos.coordinate.longitude]; NSString *sPosition1 = [ NSString stringWithFormat:@ "%.3f" , [nLatitude doubleValue]]; NSString *sPosition2 = [ NSString stringWithFormat:@ "%.3f" , [nLongitude doubleValue]]; //NSLog(@"%@",sPosition); [ self .latitude setText:sPosition1]; [ self .longitude setText:sPosition2]; } // 좌표 업데이트 델리게이트 -( void )locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { // GPS 좌표 업데이트 된 후 호출 됨 // 위도 NSNumber *nLatitude = [ NSNumber numberWithDouble:newLocation.coordinate.latitude]; // 경도 NSNumber *nLongitude = [ NSNumber numberWithDouble:newLocation.coordinate.longitude]; NSString *sPosition1 = [ NSString stringWithFormat:@ "%.3f" , [nLatitude doubleValue]]; NSString *sPosition2 = [ NSString stringWithFormat:@ "%.3f" , [nLongitude doubleValue]]; //NSLog(@"%@",sPosition); [ self .latitude setText:sPosition1]; [ self .longitude setText:sPosition2]; } // 나침반 델리게이트 -( void )locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading { NSString *headingStr = [ NSString stringWithFormat:@ "%.4lf" , newHeading.magneticHeading]; //NSLog(@"%@",headingStr); [ self .Heading setText:headingStr]; } // GPS 오류 델리게이트 -( void )locationManager:(CLLocationManager *)manager didFailWithError:( NSError *)error { // GPS 좌표 업데이트에 오류가 발생할 때 호출 됨 } // Override to allow orientations // other than the default portrait orientation. - ( BOOL )shouldAutorotateToInterfaceOrientation: ( UIInterfaceOrientation )interfaceOrientation { return YES ; } - ( void )didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [ super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } - ( void )viewDidUnload { // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - ( void )viewWillDisappear:( BOOL )animated { [ super viewWillDisappear:animated]; [ self .locationManager stopUpdatingHeading]; self .locationManager = nil ; } - ( void )dealloc { [ super dealloc]; } @end |
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
901 | Develop |
[ios] 카테고리 확장 메소드를 찾지 못하는 경우
![]() |
hooni | 2014.08.08 | 2776 |
900 | Develop | [ios] @property의 속성 (strong, weak, copy) 사용 경우 | hooni | 2014.08.08 | 2422 |
899 | Algorithm |
OCB5 Injection 앗싸뵹! ㅋㅋ
![]() |
hooni | 2014.07.01 | 1669 |
898 | Develop | [ios] TextField 특정 문자만 사용하도록 하기 | hooni | 2014.06.30 | 3241 |
897 | Develop | [ios] XCode에서 Provisioning Profile 여러개 중복될 때 | hooni | 2014.06.26 | 3375 |
896 | Develop | 알고리즘 성능 분석 기준 | hooni | 2014.06.24 | 3530 |
895 | Develop |
알고리즘 성능분석
![]() |
hooni | 2014.06.24 | 3831 |
894 | Develop | [ios] iOS에서 디바이스 종류 알아오기 | hooni | 2014.05.24 | 4217 |
» | Develop | [ios] 아이폰 GPS 사용하기 | hooni | 2014.05.24 | 4574 |
892 | Develop | [ios] 언어, 지역, 국가 설정 가져오기 | hooni | 2014.05.12 | 284354 |
891 | Develop | [ios] URL 파라미터 파싱~ | hooni | 2014.05.12 | 4152 |
890 | Develop | [ios] 앱 딜리게이트 얻어오기. (AppDelegate) | hooni | 2014.05.10 | 4040 |