私のアプリにはMKMapView
、ユーザーの場所を青い丸で示す が含まれています。
今、私は(通常の地図アプリと同じように)ボタンを作成しました。ボタンを押すと、地図ビューがユーザーの位置の中央に表示されますが、その方法がわかりません。
マップ ビューのユーザー トラッキング モードを MKUserTrackingModeFollow に設定するだけです。ユーザーの位置にマップの中心が自動的に設定されます。
- (IBAction)centerMapOnUserButtonClicked:(id)sender {
[self.mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];
}
[self.mapView setCenterCoordinate:self.mapView.userLocation.coordinate animated:YES];
私は今日この問題に取り組んでいます。
MKUserTrackingBarButtonItem ボタンをツールバーに追加して、iOS マップ アプリから機能をコピーすることができます。ボタンを押すと、トラッキングのオンとオフが切り替わります。
- (void)viewDidLoad
{
[super viewDidLoad];
MKUserTrackingBarButtonItem *buttonItem = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.map];
self.navigationItem.rightBarButtonItem = buttonItem;
}
より完全な回答はこちらにあります。
これです :
locationManager = [[CLLocationManager alloc] init];
if ([CLLocationManager locationServicesEnabled])
{
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone;
[locationManager startUpdatingLocation];
}
location = [locationManager location];
CLLocationCoordinate2D coordinate = [location coordinate];;
MKCoordinateRegion region;
region.center=coordinate;
MKCoordinateSpan span;
span.latitudeDelta=10.015; // Vary as you need the View for
span.longitudeDelta=10.015;
region.span=span;
[mapView setRegion:region];
self.mapView.showsUserLocation = YES;
Swift 3 ソリューション
@IBAction func centerUserButton(_ sender: Any) {
self.mapView.setCenter(self.mapView.userLocation.coordinate, animated: true)
}