آموزش مدیریت مکان در برنامه نویسی iOS
آموزش مدیریت مکان در برنامه نویسی iOS
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش مدیریت مکان در برنامه نویسی iOS خواهیم پرداخت.
به شرطی که کاربر اجازه دهد با کمک فریم ورک مکان اصلی به برنامه دسترسی پیدا کند، به راحتی می توانیم مکان فعلی کاربر را در iOS قرار دهیم.
مدیریت مکان
مرحله 1 – یک برنامه مبتنی بر View ساده ایجاد کنید.
مرحله 2 – پرونده پروژه خود را انتخاب کنید ، سپس اهداف را انتخاب کنید و سپس CoreLocation.framework را مانند تصویر زیر اضافه کنید –
آموزش iOS
مرحله 3 – دو برچسب در ViewController.xib اضافه کنید و ibOutlets را ایجاد کنید که به ترتیب برچسب ها را به نام LatitudeLabel و longitudeLabel نامگذاری کنید
مرحله 4 – با انتخاب File → New → File … یک فایل جدید ایجاد کنید. کلاس Objective C را انتخاب کنید و بعدی را کلیک کنید.
مرحله 5 – کلاس را به عنوان LocationHandler با “sub class of” به عنوان NSObject نامگذاری کنید.
مرحله 6 – create را انتخاب کنید.
مرحله 7 – LocationHandler.h را به صورت زیر به روز کنید –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#import <Foundation/Foundation.h> #import <CoreLocation/CoreLocation.h> @protocol LocationHandlerDelegate <NSObject> @required -(void) didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*)oldLocation; @end @interface LocationHandler : NSObject<CLLocationManagerDelegate> { CLLocationManager *locationManager; } @property(nonatomic,strong) id<LocationHandlerDelegate> delegate; +(id)getSharedInstance; -(void)startUpdating; -(void) stopUpdating; @end |
مرحله 8 – LocationHandler.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 |
#import "LocationHandler.h" static LocationHandler *DefaultManager = nil; @interface LocationHandler() -(void)initiate; @end @implementation LocationHandler +(id)getSharedInstance{ if (!DefaultManager) { DefaultManager = [[self allocWithZone:NULL]init]; [DefaultManager initiate]; } return DefaultManager; } -(void)initiate { locationManager = [[CLLocationManager alloc]init]; locationManager.delegate = self; } -(void)startUpdating{ [locationManager startUpdatingLocation]; } -(void) stopUpdating { [locationManager stopUpdatingLocation]; } -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation: (CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { if ([self.delegate respondsToSelector:@selector (didUpdateToLocation:fromLocation:)]) { [self.delegate didUpdateToLocation:oldLocation fromLocation:newLocation]; } } @end |
مرحله 9 – ViewController.h را به صورت زیر به روز کنید در جایی که ما نماینده LocationHandler را پیاده سازی کرده و دو ibOutlet ایجاد کرده ایم –
1 2 3 4 5 6 7 8 |
#import <UIKit/UIKit.h> #import "LocationHandler.h" @interface ViewController : UIViewController<LocationHandlerDelegate> { IBOutlet UILabel *latitudeLabel; IBOutlet UILabel *longitudeLabel; } @end |
مرحله 10 – ViewController.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 |
#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [[LocationHandler getSharedInstance]setDelegate:self]; [[LocationHandler getSharedInstance]startUpdating]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } -(void)didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { [latitudeLabel setText:[NSString stringWithFormat: @"Latitude: %f",newLocation.coordinate.latitude]]; [longitudeLabel setText:[NSString stringWithFormat: @"Longitude: %f",newLocation.coordinate.longitude]]; } @end |
خروجی
وقتی برنامه را اجرا می کنیم، خروجی زیر را خواهیم گرفت –
لیست جلسات قبل آموزش برنامه نویسی iOS
- آموزش برنامه نویسی iOS
- شروع آموزش برنامه نویسی iOS
- آموزش تنظیمات محیطی iOS
- آموزش objective C در بزنامه نویسی iOS
- آموزش ایجاد برنامه آیفون در برنامه نویسی iOS
- آموزش اکشن و خروجی در برنامه نویسی iOS
- آموزش Delegate در iOS
- آموزش عناصر UI در برنامه نویسی iOS
- آموزش ایجاد شتاب سنج در برنامه نویسی iOS
- برنامه های جهانی در برنامه نویسی iOS
- آموزش مدیریت دوربین در برنامه نویسی iOS
دیدگاه شما