经过2小时的谷歌搜索后,我找不到答案,所以这是我的最后一次拍摄。
我想在mkmapview上为用户当前位置使用自定义注释。但我也希望它周围有蓝色的精确度圈。
可以这样做吗?
如果没有,我可以使用圆圈添加默认蓝点的标注吗?
我需要这个的原因是因为在我的应用程序中,当前位置点经常在其他注释下消失。这就是为什么我使用带有标注的紫色引脚作为当前位置的原因。
以下是我的注释代码:
if ([annotation isKindOfClass:MKUserLocation.class])
{
MKPinAnnotationView *userAnnotationView = (MKPinAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:@"UserLocation"];
if (userAnnotationView == nil) {
userAnnotationView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"UserLocation"]autorelease];
}
else
userAnnotationView.annotation = annotation;
userAnnotationView.enabled = YES;
userAnnotationView.animatesDrop = NO;
userAnnotationView.pinColor = MKPinAnnotationColorPurple;
userAnnotationView.canShowCallout = YES;
[self performSelector:@selector(openCallout:) withObject:annotation afterDelay:0.01];
return userAnnotationView;
}
感谢您的任何建议。干杯,基督徒
答案 0 :(得分:7)
好的,所以我最终删除了自定义通知,但添加了一个自动弹出的呼叫。像这样:
mapView.showsUserLocation=TRUE;
mapView.userLocation.title = NSLocalizedString (@"Here am I",@"Here am I" );
[self performSelector:@selector(openCallout:) withObject:mapView.userLocation afterDelay:3.0];
和
- (void)openCallout:(id<MKAnnotation>)annotation {
[mapView selectAnnotation:annotation animated:YES];
}
没有延迟,呼出就不会出现。