Получение заголовка для отображения при загрузке карты с помощью mkmap - PullRequest
1 голос
/ 11 ноября 2010

Я могу получить отображаемую карту и значок булавки, куда я хочу, в моем проекте приложения iphone, но я хочу, чтобы заголовок и субтитры появлялись при загрузке представления. Вот код, который я использую. Я думал положить в [mapView selectAnnotation: аннотация анимированная: YES];

будет работать, но это не так. Кто-нибудь знает, как это сделать?

Спасибо

CLLocationCoordinate2D координат = {широта: 32.02008, долгота: -108.479707};

    [self.view addSubview:mapView];


MapController *annotation = [[MapController alloc]  initWithCoordinate:coord];
annotation.currentPoint = [NSNumber numberWithInt:1];
annotation.mTitle = @"MyTitle";
annotation.mSubTitle = @"My Address";
[mapView selectAnnotation:annotation animated:YES];
[mapView addAnnotation:annotation];
[annotation release];

1 Ответ

3 голосов
/ 11 ноября 2010

Вызов selectAnnotation до его добавления на карту не будет работать, и даже его установка после строки addAnnotation не будет работать, потому что представление аннотации еще не нарисовано на карте.

Вам понадобитсяиспользовать метод делегата didAddAnnotationViews, который вызывается, когда аннотации готовы манипулировать:

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
    id<MKAnnotation> myAnnotation = [mapView.annotations objectAtIndex:0];
    [mapView selectAnnotation:myAnnotation animated:YES];
}

В примере просто предполагается, что у вас есть одна аннотация и она получается из массива аннотаций mapView.Вы также можете хранить ссылку на аннотацию с помощью ивара.

Убедитесь, что вы установили свойство делегата mapView, иначе метод не будет вызван.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...