В настоящее время я читаю Руководство по программированию iPhone для большого ботаника и столкнулся с некоторой проблемой на стр. 96.
Я правильно назначил MKMapViewDelegate (протестировано с несколькими делегатами), и каждый из них отвечает на внесенные изменения,Но во время этого делегата:
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views
{
MKAnnotationView *annotationView = [views objectAtIndex:0];
id<MKAnnotation> mp = [annotationView annotation];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([mp coordinate], 250, 250);
[mv setRegion:region animated:TRUE];
NSLog(@"Test");
}
Консоль должна регистрировать это при добавлении аннотации.Но каким-то образом он не запускает описанный выше метод.
Это основной файл
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
//[locationManager startUpdatingLocation];
[mapView setShowsUserLocation:TRUE];
[self.window makeKeyAndVisible];
return YES;
}
Интересно, какая часть неправильная.Добавляет ли [mapView setShowUserLocation: TRUE] аннотацию к карте?Если да, почему нет ответа вышеописанным способом?