计算mkmapkit的可见rect中的pinnumber

时间:2012-01-13 06:49:59

标签: iphone objective-c

我使用MK Mapkit创建了一个谷歌地图视图,我在不同位置有注释引脚现在我想在地图视图上计算可见矩形上的引脚数量当我缩放地图视图时?

提前完成。

3 个答案:

答案 0 :(得分:6)

MKMapView annotationsInMapRect:方法将为您提供给定地图rect中的注释集。

要获取当前可见的那些,请将地图视图的visibleMapRect属性传递给它。

要检测放大,缩小或平移后注释的可见性,请在regionDidChangeAnimated委托方法中调用该方法:

-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
    NSSet *annSet = [mapView annotationsInMapRect:mapView.visibleMapRect];
    NSLog(@"regionDidChangeAnimated: annSet count = %d", annSet.count);
}

答案 1 :(得分:0)

没有。引脚的数量可以通过以下委托方法计算

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

{

数++    NSLog(@“计数:%d”,计数);

}

答案 2 :(得分:0)

假设你有一个带有mapView的ViewController作为子视图。

- (void)someMethod
{
    NSArray *visibleAnnotations = [[self.mapView annotationsInMapRect:self.mapView.visibleMapRect] allObjects];
    NSUInteger VisibleAnnotationCounts = visibleAnnotations.count;
...
}

您还可以添加到正确的MKMapView委托方法

{
...
    NSArray *visibleAnnotations = [[mapView annotationsInMapRect:mapView.visibleMapRect] allObjects];
    NSUInteger VisibleAnnotationCounts = visibleAnnotations.count;
...
}