0

有人可以帮我吗?我是 xcode 的新手,对我认为是一个小问题感到困惑。出于某种原因,第一次从我的初始视图控制器打开我的地图时,图钉被放下,但即使纬度和经度正确,地图也不会缩放到正确的区域。

当我回到第一个视图控制器并再次启动它时,缩放工作。

我的代码在 viewdidload 下的视图控制器实现文件中。

-(无效)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 回答