MapView注释indexPath?

时间:2011-05-26 08:33:07

标签: iphone objective-c ios annotations mkmapview

是否有方法(或任何方法)可以获取方法内注释的“索引路径”:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation

我想要做的是根据注释在数组中获取内容。我认为我要复制的方法之一是- tableView:cellForRowAtIndexPath:并使用“indexPath”。

搜索了很多但没有找到任何结果。或者也许我只是在搜索时很糟糕。任何参考将不胜感激。

2 个答案:

答案 0 :(得分:4)

NSUInteger index = [mapView.annotations indexOfObject:annotation];

由于底层数组是可变数组,请注意index可以更改。这似乎是您可以获得的最接近的indexPath类似信息。

答案 1 :(得分:-1)

回答我自己的问题(这对我有用):

我在自定义注释中创建了一个实例并将数据传输到那里,然后在- mapView:viewForAnnotation:内(我使用了自定义pinView)我导入并创建了一个CustomAnnotation实例并从那里获取数据。

[customAnnotation setSomething: data];
- mapView:viewForAnnotation:
{
    pinView = [[[CustomPinView alloc] initWithAnnotation: annotation reuseIdentifier: PinIdentifier] autorelease];
}
- initWithAnnotation:reuseIdentifier:
{
    CustomAnnotation *customAnnotation = (CustomAnnotation *)annotation;

    [customAnnotation something];
}

对我来说太过分了,但它完成了工作。