MKMapView
MKMapViewクラスを使うと、iPhone上で地図表示を簡単に行うことが出来ます。
MKMapViewは「MapKit.framework」のクラスなので、MapKit.frameworkフレームワークを追加する必要があります。
MKMapViewのクラス階層
生成
// 生成例
MKMapView *mv = [[MKMapview alloc] init];
// サイズを指定した生成例
MKMapView *mv =
[[MKMapview alloc] initWithFrame:CGRectMake(0,0,320,480)];
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のメソッド
メソッド | 説明 |
---|---|
-(void)setCenterCoordinate: (CLLocationCoordinate2D)coordinate animated:(BOOL)animated |
指定した経度緯度を中心とした地図を表示する ※下記例文参照 |
-(void)setRegion: (MKCoordinateRegion)region animated:(BOOL)animated |
地図の縮尺度を設定する ※下記例文参照 |
主要なメソッドのみ掲載しています。
上記「MKMapViewのクラス階層」にあるクラスのメソッドも使用できます。
MKMapViewのデリゲートメソッド
メソッド | 説明 |
---|---|
-(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];