FBAnnotationClustering以编程方式显示注释

时间:2015-11-10 03:31:49

标签: ios objective-c mkmapview

我在我的项目中使用FBAnnotationClustering。当我以编程方式显示注释视图时,我碰壁了。

例如。 当捕捉到MapView上的一个引脚时,我们想要显示注释。

我已经完成了代码,似乎无法找到它触发“show annotation”类型函数的位置。

mapView selectAnnotation的简单答案不起作用,因为注释未使用地图设置,"ERROR: You are trying to select an annotation that has yet been added to the map"出现....

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

FBAnnotationClustering的开发人员使用以下答案回复了我在GitHub上的问题。

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
    if ([view.annotation isKindOfClass:[FBAnnotationCluster class]]) {
        FBAnnotationCluster *cluster = (FBAnnotationCluster *)view.annotation;

        int i = 0;
        MKMapPoint points[cluster.annotations.count];

        for (id<MKAnnotation> annotation in cluster.annotations){
            points[i++] = MKMapPointForCoordinate(annotation.coordinate);
        }

        MKPolygon *polygon = [MKPolygon polygonWithPoints:points count:i];
        MKMapRect newMapRect = [polygon boundingMapRect];

        [mapView setVisibleMapRect:newMapRect edgePadding:UIEdgeInsetsMake(50, 50, 50, 50) animated:YES];
    }
}

GitHub问题已超过here