Мне нужна помощь, потому что я не могу отобразить аннотацию в моем mapView.
Я пытаюсь обновить аннотации с помощью этой функции:
- (void)addAnnotationsInMap:(NSMutableDictionary *)dico
{
NSLog(@"Agences Dictionary dico4324 : %@", dico);
if ([dico count] > 0)
{
NSLog(@"Count : %d", [dico count]);
for(int i = 0; i < [dico count]; i++)
{
CGFloat latDelta = [[[dico objectForKey:[NSString stringWithFormat:@"%d", i]] objectForKey:@"latitude"] floatValue];
CGFloat longDelta = [[[dico objectForKey:[NSString stringWithFormat:@"%d", i]] objectForKey:@"longitude"] floatValue];
CLLocationCoordinate2D newCoord =
{
(latDelta),
(longDelta)
};
MapPointAnnotations *mp = [[MapPointAnnotations alloc]
initWithCoordinate:newCoord
title:[[dico objectForKey:[NSString stringWithFormat:@"%d", i]] objectForKey:@"name"]
subTitle:[[dico objectForKey:[NSString stringWithFormat:@"%d", i]] objectForKey:@"street"]];
[agenceMapView addAnnotation:mp];
}
}
}
Если я вызываю свою функцию в том же классе (LocalizeViewController) с [self addAnnotationsInMap:Dico]
, аннотации появляются на mapView (agenceMapView).
Мне нужно вызвать мою функцию из другого класса (RightSideBarViewController), но аннотации не отображаются в mapView, если я вызываю класс RightSideBarViewController.
Где я вызываю функцию addAnnotationsInMap
(Class RightSideBarViewController):
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *identifier = @"LocaliserTop";
UIStoryboard *storyboard;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
storyboard = [UIStoryboard storyboardWithName:@"iPhone" bundle:nil];
} else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
storyboard = [UIStoryboard storyboardWithName:@"iPad" bundle:nil];
}
LocalizeViewController *localizeViewController = (LocalizeViewController *)[storyboard instantiateViewControllerWithIdentifier:identifier];
[self.slidingViewController anchorTopViewOffScreenTo:ECLeft animations:nil onComplete:^{
CGRect frame = self.slidingViewController.topViewController.view.frame;
self.slidingViewController.topViewController = localizeViewController;
self.slidingViewController.topViewController.view.frame = frame;
[self.slidingViewController resetTopView];
}];
[localizeViewController addAnnotationsInMap:agencesDictionary];
}
У вас есть идеи?