0

誰でも私を助けてもらえますか?私は xcode が初めてで、小さな問題だと思うことに困惑しています。なんらかの理由で、最初のビュー コントローラーからマップを初めて開いたときに、ピンがドロップされますが、緯度と経度が正しいにもかかわらず、マップが正しい地域にズームしません。

最初のView Controllerに戻って再度起動すると、ズームが機能します。

私のコードは、viewdidload の下のビュー コントローラー実装ファイルにあります。

-(void)viewDidLoad {

[super viewDidLoad];
NSLog(@"lat in map %@", eventLat);
NSLog(@"long in map %@", eventLong);
[mapview setMapType:MKMapTypeStandard];
[mapview setZoomEnabled:YES];
[mapview setScrollEnabled:YES];

MKCoordinateRegion region = { {0.0, 0.0 }, {0.0, 0.0 } };
region.center.latitude = [eventLat doubleValue];
region.center.longitude = [eventLong doubleValue];
region.span.latitudeDelta = 0.01f;
region.span.longitudeDelta = 0.01f;

[mapview setRegion:region animated:YES];

MMAnnotate *ann = [[MMAnnotate alloc] init];
ann.title = @"Test Title";
ann.subtitle = @"Test Subtitle";
ann.coordinate = region.center;
[mapview addAnnotation:ann];

}

4

1 に答える 1

0

代わりに、viewDidAppear でそれを試してください。ビューが表示されるたびにその場所にズームする準備ができている場合。viewDidLoad は mapview サイクルで早すぎます。

于 2013-03-11T19:39:00.380 に答える