我是MKMapView,我可以顯示地圖
我是MKPointAnnotation,我是個大頭針,我可以大頭針的方式幫您標出你指定的位置
MKMapView:「那我們合作吧,我顯示地圖,MKPointAnnotation你來標示位置。」
第1步:建立一個名為"MKMapView_MKPointAnnotation"的"Single View Application"專案。
- 選取TARGETS的MKMapView_MKPointAnnotation專案
- 選Build Phases
- 選Link Binary with Libraries
- 分別搜尋MapKit與CoreLocation加入MapKit.framework與CoreLocation.framework
第3步:加入MKMapView,並建立IBOutlet
- 加入MKMapView
- 於ViewController.h檔中,透過#import引用MapKit/MapKit.h
#import
#import <MapKit/MapKit.h>
@interface ViewController : UIViewController
@end
- 為MKMapView並設立Outlet - mapView
第4步:標記位置
- 於ViewController.m檔中,透過MKPointAnnotation物件來指出所要標記的位置與資訊
- 在透過appAnnotation:訊息,在MKMapView上標出大頭針
- (void)viewDidLoad
{
[super viewDidLoad];
//建立MKPointAnnotation物件
//設定title,以設定選取後顯示的字樣
//設定coordinate,指出所在的經緯度
//在此建立台北的位置
MKPointAnnotation * point1;
point1 = [[MKPointAnnotation alloc] init];
point1.title = @"台北";
point1.coordinate = CLLocationCoordinate2DMake(25.0335, 121.5651);
//透過addAnnotation訊息,
//實際將大頭針釘在地圖上,
//以標出位置
[self.mapView addAnnotation:point1];
//同樣的,透過MKPointAnnotation指出台中的位置
MKPointAnnotation * point2;
point2 = [[MKPointAnnotation alloc] init];
point2.title = @"台中";
point2.coordinate = CLLocationCoordinate2DMake(24.1648, 120.6821);
[self.mapView addAnnotation:point2];
//同樣的,透過MKPointAnnotation指出高雄的位置
MKPointAnnotation * point3;
point3 = [[MKPointAnnotation alloc] init];
point3.title = @"高雄";
point3.coordinate = CLLocationCoordinate2DMake(22.6470, 120.3128);
[self.mapView addAnnotation:point3];
}
第5步:執行
- 在地圖中會看到3個大頭針,點選後會顯示出以title設定的名稱,分別是台北、台中與高雄
檔案連結:MKMapView_MKPointAnnotation.zip