チュートリアル
Yahoo! iOSマップSDKの主要機能を一通り体験していただくための開発チュートリアルを用意しました。
「利用準備」を済ませたうえでご利用ください。
ポップアップのイベント処理
また、地図上のアイコンをタッチした際の、ポップアップのイベント処理は以下の通りです。
YMKMapView
に対してAnnotation
を追加すると、「mapView:(YMKMapView *)mapView viewForAnnotation:(Myannotation)annotation
」にイベントが返されます。- アイコンのカスタマイズを行う場合は、このイベント内で
AnnotationView
を作成し戻り値として返します。
//Annotation追加イベント - (YMKAnnotationView*)mapView:(YMKMapView *)mapView viewForAnnotation:(MyAnnotation*)annotation{ //追加されたAnnotationがMyAnnotationか確認 if( [annotation isKindOfClass:[MyAnnotation class]] ){ //YMKPinAnnotationViewを作成 YMKPinAnnotationView *pin = [[[YMKPinAnnotationView alloc] initWithAnnotation: annotation reuseIdentifier: @"Pin"] autorelease]; //吹き出しに表示するボタンを追加 UIButton * rightAccessoryButton = [UIButton buttonWithType: UIButtonTypeCustom]; [rightAccessoryButton setFrame:CGRectMake(0, 0, 29, 29)]; [rightAccessoryButton setBackgroundImage:[UIImage imageNamed:@"purple_arrow.png"] forState:UIControlStateNormal]; [pin setRightCalloutAccessoryView:rightAccessoryButton]; return pin; } return nil; }
- 吹き出しボタンが押されると、「
mapView:(YMKMapView*)mapView annotationView:(YMKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
」にイベントが返されます。
//吹き出しボタンイベント - (void)mapView:(YMKMapView*)mapView annotationView:(YMKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control { //押されたのがどのピンか判定 if(view==pin){ } }
ポップアップの表示例: