我正在创建一个应用程序,它从服务器提取数据并精确定位地图上的不同房屋。我的问题是它确实显示了注释,但是当我点击它们时它们没有响应 - (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
我把注释放在一个数组中:
int s;
self.mapAnnotations = [[NSMutableArray alloc] init];
for(s=0; s < numberOfAnnotations; s++)
{
//NSDictionary *dict2 = [parser objectWithString:[[arrayOfResults objectAtIndex:0] description]];
CLLocationDegrees daLong = [[[[[arrayOfResults objectAtIndex:s] objectForKey:@"map"] objectForKey:@"longitude"] description] floatValue];
CLLocationDegrees daLat = [[[[[arrayOfResults objectAtIndex:s] objectForKey:@"map"] objectForKey:@"latitude"] description] floatValue];
/*self.customAnnotation = [[BasicMapAnnotation alloc] initWithLatitude:daLat andLongitude:daLong];
[self.mapView addAnnotation:self.customAnnotation];*/
BasicMapAnnotation *m = [[BasicMapAnnotation alloc] initWithLatitude:daLat andLongitude:daLong];
[self.mapAnnotations addObject:m];
}
[self.mapView addAnnotations:self.mapAnnotations];
NSLog(@"this number of annotations %d", [self.mapAnnotations count]);
当我在viewDidLoad中创建一个单独的房子放置在地图上时,我也注意到了:
self.normalAnnotation = [[BasicMapAnnotation alloc] initWithLatitude:38 andLongitude:-90.2045];
self.normalAnnotation.title = @" ";
[self.mapView addAnnotation:self.normalAnnotation];
当我点击它时它确实有效,但通过数组的那些没有用。 任何人都可以帮我弄清楚它为什么没有响应?
答案 0 :(得分:4)
那是因为注释应该有一个title
来显示标注。在for
循环中,设置title
属性,就像使用self.normalAnnotation.title = @" "
一样。