با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، اگر به خاطر داشته باشید جلسه قبل درمورد مدیریت فایل ها در iOS صحبت کردیم این جلسه دسترسی به نقشه ها در iOS به شما عزیزان آموزش داده می شود.نقشه ها همیشه برای ما برای تعیین موقعیت مکانی مفید هستند. نقشه ها در iOS با استفاده از چارچوب MapKit یکپارچه می شوند.
برای رسیدن به خروجی مراحل زیرا دنبال کنید:
مراحل مربوطه
مرحله ۱ : یک برنامه مبتنی بر view ساده ایجاد کنید.
مرحله ۲ : سپس فایل پروژه خود را انتخاب کنید، سپس target ها را انتخاب کنید و سپس MapKit.framework را اضافه کنید.
مرحله ۳ : همچنین باید Corelocation.framework را اضافه کنیم.
مرحله ۴ : اضافه کردن MapView به ViewController.xib و ایجاد ibOutlet و گذاشتن نام آن به عنوان mapView.
مرحله ۵ : فایل جدید را با انتخاب File → New → File … → ایجاد کنید. Objective C را انتخاب کنید و روی Next کلیک کنید.
مرحله ۶ : نام کلاس را به عنوان MapAnnotation با “کلاس زیر” به عنوان NSObject نامگذاری کنید.
مرحله ۷ : سپس آن را انتخاب و ایجاد کنید.
مرحله ۸ : به روز رسانی MapAnnotation.h با کد های زیر :
1 2 3 4 5 6 7 8 9 10 11 | #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> @interface MapAnnotation : NSObject<MKAnnotation> @property (nonatomic, strong) NSString *title; @property (nonatomic, readwrite) CLLocationCoordinate2D coordinate; - (id)initWithTitle:(NSString *)title andCoordinate: (CLLocationCoordinate2D)coordinate2d; @end |
مرحله ۹ : به روز رسانی MapAnnotation.m با کد های زیر :
1 2 3 4 5 6 7 8 9 10 11 | #import "MapAnnotation.h" @implementation MapAnnotation -(id)initWithTitle:(NSString *)title andCoordinate: (CLLocationCoordinate2D)coordinate2d { self.title = title; self.coordinate =coordinate2d; return self; } @end |
مرحله ۱۰ : به روز رسانی ViewController.h به صورت زیر :
1 2 3 4 5 6 7 8 | #import <UIKit/UIKit.h> #import <MapKit/MapKit.h> #import <CoreLocation/CoreLocation.h> @interface ViewController : UIViewController<MKMapViewDelegate> { MKMapView *mapView; } @end |
مرحله ۱۱ : به روز رسانی 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #import "ViewController.h" #import "MapAnnotation.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; mapView = [[MKMapView alloc]initWithFrame: CGRectMake(10, 100, 300, 300)]; mapView.delegate = self; mapView.centerCoordinate = CLLocationCoordinate2DMake(37.32, -122.03); mapView.mapType = MKMapTypeHybrid; CLLocationCoordinate2D location; location.latitude = (double) 37.332768; location.longitude = (double) -122.030039; // Add the annotation to our map view MapAnnotation *newAnnotation = [[MapAnnotation alloc] initWithTitle:@"Apple Head quaters" andCoordinate:location]; [mapView addAnnotation:newAnnotation]; CLLocationCoordinate2D location2; location2.latitude = (double) 37.35239; location2.longitude = (double) -122.025919; MapAnnotation *newAnnotation2 = [[MapAnnotation alloc] initWithTitle:@"Test annotation" andCoordinate:location2]; [mapView addAnnotation:newAnnotation2]; [self.view addSubview:mapView]; } // When a map annotation point is added, zoom to it (1500 range) - (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views { MKAnnotationView *annotationView = [views objectAtIndex:0]; id <MKAnnotation> mp = [annotationView annotation]; MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance ([mp coordinate], 1500, 1500); [mv setRegion:region animated:YES]; [mv selectAnnotation:mp animated:YES]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end |
هنگامی که ما برنامه را اجرا می کنیم، خروجی به صورت زیر نشان داده می شود :
هنگامی که ما نقشه را حرکت می دهیم، خروجی به صورت زیر تغییر خواهد کرد :
آموزش دسترسی به نقشه ها در iOS با استفاده از چارچوب MapKit نیز به پایان رسید.امیدوارم از مطالب ذکر شده بهره کافی را برده باشید. برنامه خرید در iOS
در جلسه بعد آموزش داده خواهد شد با ما همراه باشید با جلسه دیگری از آموزش های دوره iOS.