チュートリアル

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

雨雲を表示する

気象庁が公開しているデータを元にして地図上に、最新の雨雲レーダー情報を重ねて表示します。

1.YMapKitTestAppDelegate.hにYMKWeatherOverlayDelegateプロトコルを追加します。

  • YMapKitTestAppDelegate.h
#import <UIKit/UIKit.h>
#import <YMapKit/YMapKit.h>//YMapKit.frameworkのヘッダーファイルをインポート

#define MIDTOWN_LAT 35.6657214
#define MIDTOWN_LON 139.7310058

//YMKMapViewDelegateを追加
@interface YMapKitTestAppDelegate : NSObject <YMKWeatherOverlayDelegate, UIApplicationDelegate, YMKMapViewDelegate> {
     UIWindow *window;
     YMKMapView *map; //YMKMapViewインスタンス用ポインタ
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@end
     

2.YMKWeatherOverlayを作成します。

YMKWeatherOverlayを作成し、YMKMapViewに追加します。

  • YMapKitTestAppDelegate.m
//YMKWeatherOverlayを作成
YMKWeatherOverlay * weatherOverlay = [[YMKWeatherOverlay alloc] init];

//YMKWeatherOverlayをYMKMapViewに追加
[map addOverlay:weatherOverlay];
     

3. 雨雲レーダー情報の自動更新は「mapView:(YMKMapView *)mapView viewForOverlay:(id <YMKOverlay>)overlay」でYMKWeatherOverlayViewを作成し、設定を行ないます。

  • YMapKitTestAppDelegate.m
//overlay追加イベント
- (YMKOverlayView*)mapView:(YMKMapView *)mapView viewForOverlay:(id <YMKOverlay>)overlay
{
     //追加されたoverlayがYMKWeatherOverlay か確認
     if([overlay isKindOfClass:[YMKWeatherOverlay class]] ){
          //YMKWeatherOverlayView作成
          YMKWeatherOverlayView *weatherOverlayView = [[YMKWeatherOverlayView alloc]initWithWeatherOverlay:overlay];
          //YMKWeatherOverlayDelegateの設定
          weatherOverlayView.delegate = self;               
          //アルファ値を設定
          weatherOverlayView.alpha = 0.6;
          return weatherOverlayView ;
     }
}

//画面の更新が行なわれると通知されます。
-(void)finishUpdateWeather:(YMKWeatherOverlayView*)weatherOverlayView
{
 
}

//雨雲レーダー情報の取得でエラーが発生したら通知
-(void)errorUpdateWeather:(YMKWeatherOverlayView*)weatherOverlayView withError:(int)error
{
 
}
     

表示例:雨雲レーダー情報を表示する
雨雲レーダー情報を表示する