0

visibleMapRectそのため、マップのビューを変更したときにログに記録するようにデバッグをセットアップしました。思い通りのビューを取得したら、値を書き留めてviewDidLoad、mapView をその四角形に設定しました。ただし、同じビューではありません。もっとズームアウトされているので、私が見ていたものは画面の中央にありますが、画面にはもっと多くのものがあります.

設定したのと同じになるように mapView を設定するにはどうすればよいですか?

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    MKMapRect mRectHawaii;
    mRectHawaii.origin.x = 16077095.369230;
    mRectHawaii.origin.y = 117612734.225784;
    mRectHawaii.size.width = 698548.708173;
    mRectHawaii.size.height = 393548.573271;

    [self.mapView setVisibleMapRect:mRectHawaii animated:NO];
}


- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
    MKMapRect mRect = mapView.visibleMapRect;

    NSLog(@"(%f, %f) (%f, %f)", mRect.origin.x, mRect.origin.y, mRect.size.width, mRect.size.height);
}
4

1 に答える 1