2

私のアプリにはMKMapView、ユーザーの場所を青い丸で示す が含まれています。

今、私は(通常の地図アプリと同じように)ボタンを作成しました。ボタンを押すと、地図ビューがユーザーの位置の中央に表示されますが、その方法がわかりません。

4

5 に答える 5

10

マップ ビューのユーザー トラッキング モードを MKUserTrackingModeFollow に設定するだけです。ユーザーの位置にマップの中心が自動的に設定されます。

- (IBAction)centerMapOnUserButtonClicked:(id)sender {
    [self.mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES]; 
}
于 2013-10-26T12:29:33.630 に答える
7
[self.mapView setCenterCoordinate:self.mapView.userLocation.coordinate animated:YES];
于 2013-10-26T15:10:18.030 に答える
3

私は今日この問題に取り組んでいます。

MKUserTrackingBarButtonItem ボタンをツールバーに追加して、iOS マップ アプリから機能をコピーすることができます。ボタンを押すと、トラッキングのオンとオフが切り替わります。

- (void)viewDidLoad
{
    [super viewDidLoad];    
    MKUserTrackingBarButtonItem *buttonItem = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.map];
    self.navigationItem.rightBarButtonItem = buttonItem;
}

より完全な回答はこちらにあります

于 2014-03-12T11:31:10.490 に答える
0

これです :

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;
于 2013-10-26T12:25:39.847 に答える
0

Swift 3 ソリューション

@IBAction func centerUserButton(_ sender: Any) {
    self.mapView.setCenter(self.mapView.userLocation.coordinate, animated: true)
}
于 2017-01-23T06:20:06.643 に答える