現在地を地図の中心に表示する
MKMapViewのsetUserTrackingModeで、現在地に合わせて地図も動くようにします。
MainViewController.m
- (void)viewDidAppear:(BOOL)animated { // ユーザーの動きに合わせてMapを追従させる [_mmvMap setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:YES]; }
ボタンを押したときに、現在地を画面(MKMapView)の中央に表示する
ボタン(その1の画面左下)を押したときに、現在地が画面中央に表示されるようにします。
MainViewController.m
- (IBAction)btnCurrentLocationTouched:(id)sender { // 地図の中心座標に現在地を設定 // 表示範囲の緯度、経度を指定 MKCoordinateSpan mcsSpan = MKCoordinateSpanMake(0.5, 0.5); // 表示する地点(現在地)を指定する CLLocationCoordinate2D clcCenter = _mmvMap.userLocation.location.coordinate; // MKMapViewで指定範囲、地点を表示する MKCoordinateRegion mcrRegion = MKCoordinateRegionMake(clcCenter, mcsSpan); [_mmvMap setRegion:mcrRegion animated:YES]; }
- setRegionで移動しますが、その際animatedをYESにしておくことで、アニメーションが効いてヌルっと動きます。