Итак, у меня есть объект NSArray Dictionary, содержащий кучу данных JSON. Используя эти данные, я заполняю карту связкой MKPointAnnotations, каждая из которых представляет данные в данном словаре. Когда пользователь нажимает одну из точек аннотации, как я могу определить, какая точка была нажата, чтобы я мог связать правильный набор данных с этой точкой?iOS - определение, какая MKPointAnnotation выбрана
2
A
ответ
3
Вам нужно создать свой собственный класс аннотаций, так что вы можете хранить дополнительную информацию в каждой аннотации. Смотрите мой ответ здесь:
https://stackoverflow.com/a/15554322/341994
Обратите внимание на ссылки, представленные там! Моя книга говорит об этом в глубине:
http://www.apeth.com/iOSBook/ch34.html#_annotations
И вы можете скачать рабочий проект, который развивает эту мысль:
https://github.com/mattneub/Programming-iOS-Book-Examples/tree/master/ch34p848map/p707p723map
1
Я думаю, что этот метод делегата поможет вам это сделать.
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
NSLog(@"Tapped on: %@", view.annotation.title);
}
Также вы можете установить метки на каждой аннотации и убедиться, что внутри calloutAccessoryControlTapped
делегата с помощью view.tag
.
Пожалуйста, обратитесь MKMapViewDelegate более
Смежные вопросы
- 1. iOS Background MKPointAnnotation
- 2. Какая функция будет выбрана?
- 3. Какая вкладка выбрана, onTabSelected Android
- 4. Как узнать, какая кнопка выбрана?
- 5. проверить, какая радио кнопка выбрана
- 6. Какая перегрузка метода C# выбрана?
- 7. WKInterfaceTable определяет, какая строка выбрана
- 8. Определите, какая радиокнопка выбрана пользователем
- 9. UITableView - какая строка была выбрана?
- 10. iOS swift: MKPointAnnotation не всегда показывает заголовок
- 11. Какая папка ресурсов выбрана первой и какая последняя?
- 12. Как узнать, какая радио кнопка выбрана пользователем
- 13. Как узнать, какая опция выбрана PHP
- 14. Как определить, какая опция была выбрана?
- 15. HTML Выберите несколько - найдите, какая опция выбрана
- 16. Как увидеть, какая строка выбрана в JTable
- 17. Как проверить, какая ячейка в dataGridView выбрана?
- 18. Проверка, какая радиокнопка выбрана в PHP
- 19. Определить, какая вкладка выбрана с помощью jquery
- 20. Как узнать, какая вкладка выбрана в Qt?
- 21. Как узнать, какая строка mysqli_fetch_assoc выбрана
- 22. JTable, если какая-либо строка выбрана
- 23. Определить, какая активность будет выбрана в UIActivityViewController
- 24. Знайте, какая кнопка в ячейке выбрана
- 25. Получить, какая диаграмма выбрана в действии
- 26. Как проверить, какая кнопка радиогруппы выбрана?
- 27. Условное решение, какая опция выбрана в лезвии
- 28. Проверка javascript, какая форма радио была выбрана
- 29. Как узнать, какая якорная ссылка выбрана
- 30. Как определить, какая вкладка выбрана в FragmentActivity?
Как бы я тогда получить экземпляр класса, когда '- (MKAnnotationView *) mapView: (MKMapView *) mapView viewForAnnotation: (id) вызывается метод аннотации? –
Вы не получаете экземпляр, вы его создаете. Посмотрите на ссылки, которые я привел в другом ответе. Моя книга содержит полное обсуждение, и я предоставляю загружаемые проекты, которые показывают, что делать. – matt
Получил это. Взял меня секунду, чтобы понять, как все складывается вместе. Большое спасибо! –