Аннотация на выводе MapKit не отображается - PullRequest
1 голос
/ 08 марта 2012

Я поместил на карту два пина, каждый с аннотацией при нажатии, однако отображается только аннотация для StoreLocationOne. Обе точки на карте отображаются, но аннотация StoreLocationTwo не отображается при нажатии, есть идеи?

-(void)viewDidLoad {
    [super viewDidLoad];

    [mapview setMapType:MKMapTypeStandard];
    [mapview setZoomEnabled:YES];
    [mapview setScrollEnabled:YES];

    MKCoordinateRegion region = { {0.0, 0.0 }, {0.0, 0.0 } };
    region.center.latitude = 57.132053;
    region.center.longitude = -2.135592;
    region.span.longitudeDelta = 0.01f;
    region.span.latitudeDelta = 0.01f;
    [mapview setRegion:region animated:YES];

    StoreLocationOne *ann = [[StoreLocationOne alloc] init];
    ann.title = @"Heavenly Pizzas Mannofield";
    ann.subtitle = @"483a Great Western Rd, Aberdeen, AB10 6NN";
    ann.coordinate = region.center;
    [mapview addAnnotation:ann];

    MKCoordinateRegion region2 = { {0.0, 0.0 }, {0.0, 0.0 } };
    region2.center.latitude = 57.232458;
    region2.center.longitude = -2.347853;
    region2.span.longitudeDelta = 0.01f;
    region2.span.latitudeDelta = 0.01f;

    StoreLocationTwo *ann2 = [[StoreLocationTwo alloc] init];
    ann2.title2 = @"Heavenly Pizzas Kintore";
    ann2.subtitle2 = @"School Road, Kintore, AB51 0UU";
    ann2.coordinate = region2.center;
    [mapview addAnnotation:ann2];

}

1 Ответ

1 голос
/ 08 марта 2012

Свойства title и subtitle должны быть названы именно так. Вид карты не будет знать, чтобы искать title2 и subtitle2.

У вас может быть несколько классов, которые реализуют MKAnnotation, но имена свойств должны соответствовать протоколу.

Кроме того, если вам нужны только свойства coordinate, title и subtitle, вы можете использовать встроенный класс аннотаций MKPointAnnotation вместо создания отдельного класса для каждой координаты.

...