在我的viewForAnnotation方法中,我在引脚的右侧添加了一个详细信息公开按钮,但是它将showsUserLocation更改为一个红色引脚,并在“当前位置”文本的右侧显示了一个公开按钮。
如何阻止当前位置符号成为引脚?没有这种方法就可以了。
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
static NSString *identifier = @"MyLocation";
MKPinAnnotationView *annotationView =
(MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:identifier];
if (annotationView == nil) {
annotationView = [[MKPinAnnotationView alloc]
initWithAnnotation:annotation
reuseIdentifier:identifier];
} else {
annotationView.annotation = annotation;
}
annotationView.enabled = YES;
annotationView.canShowCallout = YES;
// Create a UIButton object to add on the
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton setTitle:annotation.title forState:UIControlStateHighlighted];
[annotationView setRightCalloutAccessoryView:rightButton];
return annotationView;
}
答案 0 :(得分:4)
在方法的开头添加
if (annotation == mapView.userLocation) {
return nil;
}
答案 1 :(得分:0)
这也包含在文档中:
如果annotation参数中的对象是MKUserLocation类的实例,则可以提供自定义视图来表示用户的位置。要使用默认系统视图显示用户的位置,请返回nil。