4.ピンを立てる自作メソッドを作成(ViewDidLoadメソッドの下)
//ピンを立てる自作メソッド
- (MKPointAnnotation *)createdPin:(CLLocationCoordinate2D)co Title:(NSString *)title Subtitle:(NSString *)subtitle
{
MKPointAnnotation *pin = [[MKPointAnnotation alloc] init];
pin.coordinate = CLLocationCoordinate2DMake(latitude,longitude);
pin.title = title;
pin.subtitle = subtitle;
return pin;
}
5.自作メソッドを呼び出してピンオブジェクトを作成、ピンを立てる
//現在地を表示
mapView.showsUserLocation = YES;
//ピンを立てる ↓☆☆☆アヤラ、SMモール、JYモールのピンを追加
//アヤラ
MKPointAnnotation *pin = [self createdPin:CLLocationCoordinate2DMake(10.317347, 123.905759) Title:@"アヤラ" Subtitle:@"biggest shopping mall in Cebu."];
[mapView addAnnotation:pin];
//SMモール
MKPointAnnotation *pin2 = [self createdPin:CLLocationCoordinate2DMake(10.314872,123.90273) Title:@"SMモール" Subtitle:@"Next Mall."];
[mapView addAnnotation:pin2];
//JYモール
MKPointAnnotation *pin3 = [self createPin:CLLocationCoordinate2DMake(10.33057,123.897903) Title:@"JYモール" Subtitle:@"Third Mall."];
[mapView addAnnotation:pin3];
// ↑ここまで☆☆☆
//表示するためにViewに追加
[self.view addSubview:mapView];
6.(おまけ)ピンが降ってくるアニメーションを実装したい場合、Delegateメソッドを追加
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation
{
static NSString *pinIndentifier = @"PinAnnotationID";
//ピン情報の再利用
MKPinAnnotationView *pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:pinIndentifier];
if (pinView == nil){
pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:pinIndentifier];
pinView.animatesDrop = YES;
pinView.canShowCallout = YES;
pinView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
}
return pinView;
}
7.(おまけ)ピンの吹き出しに乗っているinformationボタンをタップした時発動されるメソッドを追加(実際は画面遷移などのコードを書くとよし)
- (void) mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
//iボタンをタップした時にしたい動作を記述するメソッド
NSLog(@"%@",view.annotation.title);
}
操作する対象が動いている場合(今回は落下しているアニメーション)、ユーザーは押したくなるという心理が働き、自然と効果的なUXを提供できるという効果が生まれます。
落下させなくてもピンは操作できますが、その一手間を加えるだけでグッと初心者が作ったアプリという印象から抜け出すことが出来ます。なのでおまけの部分はより高い操作性をユーザーに提供したい場合に利用していただくと効果的です。
NexSeedの英語留学、エンジニア留学について詳しく知りたい方はこちら
お気軽にお問い合わせください。
1 2
Related Posts
投稿者プロフィール
- ニュージーランド・オーストラリアを経てセブ島にやってきた、世界を飛び回るベテラン女性エンジニア。インターネット創世期よりWebサイト製作を経験。小売業販促アイテム印刷システム「ipopweb」の立ち上げに企画時から参画し、DB 設計・プログラミング 開発を担当しリリース。業務システムエンハンスやポータルサイトのリニューアル開発、運営、保守も多数手がける。OracleMaster保持者。PHP、JavaScriptを始め15以上の言語使用経験を持つ。茨城大学工学部システム工学科卒。
最新の投稿
英語学習2019.08.29英語の文章をスラスラ読むコツ3選!TOEICでいつも時間切れになる人必見
IT留学2018.11.09海外で英語も指導力も上達!エンジニア講師大募集
IT留学2018.04.20プログラミング初心者にMacをおすすめする10の理由
IT留学2017.11.03フリーランスエンジニアのタイプと働き方を現役エンジニアが解説!









