Đối với lập trình di động, điểm hơn những chương trình trên Desktop chính là khả năng thay đổi vị trí của các thiết bị.
Hôm nay tôi sẽ hướng dẫn các bạn viết chương trình theo dõi vị trí đơn giản sử dụng MapKit của Apple:
* Đầu tiên bạn phải thêm các thư viện vào trước rồi mới có thể làm việc được:
- CoreLocation.framework
- MapKit.framework
* Sau đó đưa MKMap vào trong View vừa tạo:
Đây là file .h
Mã:
#import <UIKit/UIKit.h> #import <MapKit/MapKit.h> @interface LKTutViewController : UIViewController <MKMapViewDelegate> @property (weak, nonatomic) IBOutlet MKMapView *LKMapView; @end
Sau đây là file .m
Mã:
#import "LKTutViewController.h" @interface LKTutViewController () @end @implementation LKTutViewController - (void)viewDidLoad { [super viewDidLoad]; CLLocationCoordinate2D schoolCoor = CLLocationCoordinate2DMake(10.786087, 106.681725); self.LKMapView.region = MKCoordinateRegionMakeWithDistance(schoolCoor, 200, 200); if ([CLLocationManager locationServicesEnabled]){ _LKMapView.showsUserLocation = YES; [_LKMapView setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:YES]; } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
* Trong chương trình có 3 điểm cần lưu ý:
- Outlet dành cho bản đồ là weak không phải strong vì bản đồ không cố định mà luôn cập nhật dữ liệu, vì vậy nền nếu sử dụng strong, chương trình sẽ bị giật trong khi sử dụng weak thì chương trình sẽ chạy mượt hơn nhiều
- Set region sẽ giúp cho Map được zoom lại gần dễ dàng hơn khi sử dụng. Nếu không sử dụng region thì map sẽ ở cấp độ toàn thế giới rất bất tiện khi làm việc.
- Delegate <MKMapViewDelegate> phải được thêm vào ở file .h nếu không bạn sẽ không thể tương tác được với bản đồ của chính bạn
Source code:
Mã:
Mediafire: http://www.mediafire.com/?3cbbtm9t8sjf5lp
Google Drive: https://docs.google.com/file/d/0B3v7a0gMgVkBOFI2WTRrc1QxcVU/edit
Product: LapKan Company Product (LK)
Coder: Huygamer
Blog: huygamer.wordpress.com
View more random threads:
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...