Несколько аннотаций имеют проблему, чтобы получить выбранную аннотацию индекса - PullRequest
1 голос
/ 15 сентября 2011

Я успешно отобразил несколько аннотаций в mapView в своем приложении для iphone, но у меня тоже есть проблема .. В верхней части экрана у меня есть две вкладки Map и List.карта отображает все аннотации на карте, а список отображает те данные в табличном представлении, которые отображаются на карте.когда я нажимаю на конкретную ячейку, я получаю все подробности этого cell.but, когда я пытаюсь получить идентификатор из аннотации Tap, мой массив получает много идентификаторов после сравнения имени, потому что у нас есть одно и то же имя в моем списке массива, так как я могу различитьиз тега аннотации.Как установить тег аннотации?

1 Ответ

1 голос
/ 15 сентября 2011

В методе делегата calloutAccessoryControlTapped используйте view.annotation для доступа к аннотации, которая была нажата.

Если у вас есть пользовательский класс аннотаций, вы можете привести его, чтобы легко получить доступ к свойствам (вы также можете сначала проверить, является ли нажатая аннотация экземпляром интересующего вас класса - важно, если вы используя несколько классов аннотаций):

if ([view.annotation isKindOfClass:[TagMark class]]) {
    TagMark *tm = (TagMark *)view.annotation;
    NSLog(@"tm.someProperty = %@", tm.someProperty);
}
...