チュートリアル

Yahoo! iOSマップSDKの主要機能を一通り体験していただくための開発チュートリアルを用意しました。
「利用準備」を済ませたうえでご利用ください。

注記情報を取得する

地図上の注記がタッチされた際に、その注記の情報を受け取ることができます。

「注記」とは
地図に掲載された文字列のことを指します。たとえば、店舗やビル等の施設類や、道路や鉄道路線等の名称が挙げられます。
  • YMapKitTestAppDelegateに、YMKLabelTouchDelegateプロトコルを追加します。
YMapKitTestAppDelegate.h
#import <UIKit/UIKit.h>
#import "YMapKit/YMapKit.h"  //YMapKit.frameworkのヘッダーファイルをインポート
#import "YMapKit/YMKLabelTouchDelegate.h"

#define MIDTOWN_LAT 35.665473
#define MIDTOWN_LON 139.731266

//YMKMapViewDelegateを追加
@interface YMapKitTestAppDelegate : NSObject <UIApplicationDelegate, YMKMapViewDelegate, YMKLabelTouchDelegate> {
    UIWindow *window;
    YMKMapView *map;  //YMKMapViewインスタンス用ポインター
}

@property (nonatomic, retain) IBOutlet UIWindow *window;

@end
  • YMKLabelTouchManagerを作成し、YMKLabelTouchDelegateを登録します。
YMapKitTestAppDelegate.m
//YMKLabelTouchManagerを作成
YMKLabelTouchManager* labelTouchManager = [[YMKLabelTouchManager alloc] initWithMapView:map];
//YMKLabelTouchDelegateを登録
labelTouchManager.delegate = self;
  • 注記がタッチされると、「onLabelTouchWithLabelInfo:(YMKLabelInfo*)labelInfo」にイベントが返されます。
YMapKitTestAppDelegate.m

//注記タッチイベント
-(void)onLabelTouchWithLabelInfo:(YMKLabelInfo*)labelInfo
{
  UIAlertView *alert = [[UIAlertView alloc]initWithTitle:labelInfo.label message:labelInfo.name
					delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
  [alert show];
  [alert release];
}

注記情報の表示例:
この例では、地図上の「東京ミッドタウン」という文字情報を取得し、同じ文字を背景色グレーで表示しています。
注記情報の表示例