iOS - 确定选择了哪个MKPointAnnotation

时间:2013-04-04 03:51:01

标签: iphone ios objective-c xcode mapkit

所以我有一个包含一堆JSON数据的Dictionary对象的NSArray。使用该数据,我使用一堆MKPointAnnotations填充地图,每个MKPointAnnotations代表给定字典中的数据。当用户点击其中一个注释点时,如何确定点击哪个点以便我可以将正确的数据集与该点相关联?

2 个答案:

答案 0 :(得分: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 :(得分:1)

我认为这种委托方法可以帮助您这样做。

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
    NSLog(@"Tapped on: %@", view.annotation.title);
}

此外,您可以在每个注释上设置标记,并使用calloutAccessoryControlTappedview.tag代理内部进行检查。

请参阅MKMapViewDelegate了解更多