ios - 如何保存选中的MKAnnotation?

标签 ios xcode4.2 mkmapview mkannotation callouts

我有一个具有 map View 的应用程序,它在 map 上显示了 20 个图钉(来自数组)。当用户点击它时,它会显示一个带有右侧附件按钮的气泡。 我的问题来了:我怎么知道按下了哪个引脚? 我听说了一些关于 mapView:didSelectAnnotationView 方法的事情,但我不太明白你如何获得 pin/callout 索引,以便我可以在我的数组的相同索引处获取对象的信息?感谢您的帮助!

最佳答案

当该方法被调用时——因为您的 viewController 类采用了 MKMapViewDelegate ,您可以调用-indexOfObject在数组上并获取该引脚的索引(注释)。这是假设您的数组包含注释类的对象。

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
        // Annotation is your custom class that holds information about the annotation
        if ([view.annotation isKindOfClass:[Annotation class]]) {
            Annotation *annot = view.annotation;
            NSInteger index = [self.arrayOfAnnotations indexOfObject:annot];
        }
    }

如果您需要更多解释,我们需要知道您是如何添加这些引脚的,即 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation 的实现方式.

关于ios - 如何保存选中的MKAnnotation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9848292/

相关文章:

iOS - 逐帧更改图像

ios - 适用于 iOS 7、6、5 的触摸控件...但不适用于 iOS 8

ios - 向现有 UIView 添加非事件约束

ios - 平移时跟踪 MKMapView centerCoordinate

ios - 在图像中添加 MKPointAnnotation 时蓝点未移除

ios - 尝试 'Export for localization' 时 Xcode 6.1 崩溃

objective-c - 字符串末尾的额外空格

iphone - 在 Xcode 中有条件地链接第三方 API

iOS : Xcode Crash when configure SVN

iphone - 获取 2 个地理坐标之间的方向方位