iPhoneアプリ開発の虎の巻
HOME > MKMapView

MKMapView

MKMapViewクラスを使うと、iPhone上で地図表示を簡単に行うことが出来ます。

MKMapViewは「MapKit.framework」のクラスなので、MapKit.frameworkフレームワークを追加する必要があります。

MKMapViewのクラス階層

NSObjectUIResponderUIView ↑ MKMapView

生成

// 生成例
MKMapView *mv = [[MKMapview alloc] init];

// サイズを指定した生成例
MKMapView *mv =
    [[MKMapview alloc] initWithFrame:CGRectMake(0,0,320,480)];

MKMapViewのプロパティ

【MKMapViewの主要プロパティ】
プロパティ名/型 読専 説明
delegate
(MKMapViewDelegate)
デリゲートを指定する
(例)mv.delegate = self;
showsUserLocation
BOOL
GPSで取得した現在地を青丸で表示する
(例)mv.showsUserLocation = YES;
centerCoordinate
(CLLocationCoordinate2D)
地図の中心点の経度緯度を取得する
(例)緯度経度の取得
CLLocationCoordinate2D val = mv.centerCoordinate
double lat = val.latitude; //緯度
double lon = val.longitude; //経度
mapType
(MKMapType)
マップの種類を選択する
 MKMapTypeStandard:標準の地図(デフォルト)
 MKMapTypeSatellite:航空写真
 MKMapTypeHybrid:標準の地図+航空写真
(例)mv.maptype = MKMapTypeHybrid;

主要なプロパティのみ掲載しています。
 上記「MKMapViewのクラス階層」にあるクラスのプロパティも使用できます。

MKMapViewのメソッド

【MKMapViewの主要メソッド】
メソッド 説明
-(void)setCenterCoordinate:
(CLLocationCoordinate2D)coordinate
animated:(BOOL)animated
指定した経度緯度を中心とした地図を表示する
※下記例文参照
-(void)setRegion:
(MKCoordinateRegion)region
animated:(BOOL)animated
地図の縮尺度を設定する
※下記例文参照

主要なメソッドのみ掲載しています。
 上記「MKMapViewのクラス階層」にあるクラスのメソッドも使用できます。

MKMapViewのデリゲートメソッド

【MKMapViewDelegate】
メソッド 説明
-(void)mapViewWillStartLoadingMap:
(MKMapView *)mapView
マップデータの読み込み開始直前に呼ばれる
-(void)mapViewDidFinishLoadingMap:
(MKMapView *)mapView
マップデータの読み込み完了後に呼ばれる

主要なデリゲートメソッドのみ掲載しています。

MKMapView例文

// インポートの宣言
#import <MapKit/MapKit.h>

// 生成
MKMapView *mv = [[MKMapview alloc] init];
mv.frame = 	CGRectMake(0,0,320,480);

// 表示位置を設定(ここでは東京都庁の経度緯度を例としています)
CLLocationCoordinate2D co;
co.latitude = 35.68664111; // 経度
co.longitude = 139.6948839; // 緯度
[mv setCenterCoordinate:co animated:NO];

// 縮尺を指定
MKCoordinateRegion cr = mv.region;
cr.center = co;
cr.span.latitudeDelta = 0.5;
cr.span.longitudeDelta = 0.5;
[mv setRegion:cr animated:NO];

// addSubview
[self.view addSubview:mv];

MKMapView

totop