我花了2天的搜索错误后,我不得不寻求帮助。我确实有MapViewController并在地图上放置了一些针脚。我已经从Apple代码示例的MapCallouts和WeatherMap中复制了大部分代码。无论如何,似乎我已经删除或错过了重要部分。它似乎还有以下代码MKAnnotationView viewForAnnotation从来没有呼吁
- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
NSLog(@"MKAnnotationView");
return nil;
}
设置的注释是这样的的MapViewController之间没有连接,而且运作良好:
- (void)createPoi:(CLLocationCoordinate2D)theCoordinate
{
NSLog(@"createPoi");
RandomAnnotation *randomAnnotation = [[RandomAnnotation alloc] init];
[randomAnnotation setTheCoordinate:theCoordinate];
[randomAnnotation setTheTitle:@"bla"];
[randomAnnotation setTheSubTitle:@"bla"];
[self.mapAnnotations insertObject:randomAnnotation atIndex:kRandomAnnotationIndex];
[randomAnnotation release];
[self.mapView addAnnotation:[self.mapAnnotations objectAtIndex:kRandomAnnotationIndex]];
}
我不能弄清楚什么是错的。有人可以给我一个提示什么是缺少的?我不得不承认,我对代表模式没有任何经验。
aah。是!我忘了把IB的地图挂到文件的所有者代表。耻辱我: -/ 问题解决了! 非常感谢您的快速帮助! :-) – rockstarberlin