我正在尝试将 visibleMapRect 分成 9 个单元格(3x3)。如果我的单元格有超过 2 个注释,我将删除它们并最多显示 2 个注释。我这样做是出于性能原因,因为我的一些用户可能有成千上万的注释分布在世界各地,当他们缩小时,试图显示数千个图钉没有意义并导致性能问题,因此分而治之:)。我写了下面的代码,当我移动地图时,我意识到我只看到从中心而不是东南角计算的注释。这样做的正确方法是什么?我怎样才能解决这个问题 ?
-(void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated
{
int xM;
int yM;
MKMapRect SE_rect;
xM=1;yM=1;
SE_rect= MKMapRectMake( mapView.visibleMapRect.origin.x + mapView.visibleMapRect.size.width/3 * xM , mapView.visibleMapRect.origin.y + mapView.visibleMapRect.size.height/3 * yM, mapView.visibleMapRect.size.width/3, mapView.visibleMapRect.size.height/3);
NSLog(@"SE annotation count : %lu %d %d " ,(unsigned long)[mapView annotationsInMapRect:SE_rect].count,xM,yM );
}