ios - FBAnnotationClustering 以编程方式显示注释

标签 ios objective-c mkmapview

我正在使用 FBAnnotationClustering在我的项目中。在以编程方式显示注释 View 时,我遇到了困难。

例如。 当捕捉到 MapView 上的图钉时,我们希望显示注释。

我查看了代码,似乎无法找到它触发“显示注释”类型函数的位置。

mapView selectAnnotation 的简单答案不起作用,因为注释未使用 map 设置并且 “错误:您正在尝试选择尚未添加到的注释 map ” 出现....

有什么想法吗?

最佳答案

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 issue结束here

关于ios - FBAnnotationClustering 以编程方式显示注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33622402/

相关文章:

ios - 以编程方式创建 ios genius 播放列表

ios - 扫描特定服务 CBUUID 时找不到外围设备

ios - 无法使用 Xcode 7.3.1 在我的 Swift 2 项目中使用 "po"检查变量 - 加载辅助函数时出错

ios - UITableViewHeaderFooterView 去除透明度

ios - 将图像添加到 MKPointAnnotation 而不更改用户位置图像

ios - 在 MKMapView 上绘制 CLLocation/CLLocationCoordinate2D

ios - 我如何在 MKMapView 上为天气 api 生成叠加层?

ios - 如何在Xcode 4.2上查看崩溃报告

ios - 有效地搜索集合中的 NSString

ios - 旋转 UIImageView 数据 -