如何加载多个注释标题而不冻结iOS中的应用程序

时间:2014-11-13 00:23:46

标签: ios objective-c mkmapview mkannotation mkmapviewdelegate

您好,我正在申请第一份申请表。请找到以下代码,并帮助我解决这个问题。

当我加载地图时,我正在加载地图中的所有注释但是当我将地图拖到更多注释时,应用程序基于注释计数冻结一段时间如果有大约100个注释没有问题但有时我是获得超过2000到4000个注释,那时应用程序冻结更多时间,因为我观察到当我将地图拖到那些注释附近时,那么只有那些标题正在加载(阅读)。 我该如何解决这些冲突。 有什么方法可以通过加载背景中的标题或应用程序不应该冻结的任何其他方式来解决该问题。

如果您有任何参考更新我。

- (MKAnnotationView *)mapView:(MKMapView *)mv viewForAnnotation:(id <MKAnnotation>)annotation
 {
static NSString *reuseId = @"reuseid";
MKAnnotationView *av = [_map_view dequeueReusableAnnotationViewWithIdentifier:reuseId];
if (av == nil)
{
    av = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:reuseId] ;
}
else
{
    av.annotation = annotation;
}

NSLog(@"Title %@",annotation.title);

NSString *title = StringOrEmpty(annotation.title);

if ([title isEqualToString:@"Current Location"] )
{
    av.image = [UIImage imageNamed:@"user_icon21.png"];
    av.centerOffset = CGPointMake(0.0f, -17.5f);
}
else if ([title isEqualToString:@""])
{
    av.image = nil;
}
else
{
    av.image = [UIImage imageNamed:@"Rmap1.png"];
    av.centerOffset = CGPointMake(0.0f, -15.0f);
}
av.canShowCallout = YES;

return av;

提前致谢,帮助双手表示赞赏。

0 个答案:

没有答案