showsUserLocation在iPhone模拟器中返回pin而不是蓝点

joe*_*oec 4 iphone mkpinannotationview mkmapview

这是我-mapView:viewForAnnotation创建注释视图时丢弃引脚的方法.但是当我mapView.showsUserLocation = YES;进入时-viewDidLoad,我得到一个引脚掉落在无限循环(预期 - 在模拟器中)而不是正常的蓝点.

- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation{
     MKAnnotationView *anno = nil;
     //create a pin annotation view
MKPinAnnotationView  *pin=[[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"pin"]autorelease];

    [pin setPinColor:MKPinAnnotationColorRed];
    pin.animatesDrop=YES;
    pin.canShowCallout = YES;
    pin.calloutOffset = CGPointMake(-5, 5);
    anno = pin;
    return anno;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它掉针并显示蓝点?

谢谢

joe*_*oec 24

真的很容易修复,虽然不确定这是否是正确的方法...

if (annotation == mapView.userLocation){
    return nil; //default to blue dot
}
Run Code Online (Sandbox Code Playgroud)