这是我的-mapView:viewForAnnotation方法,当我创建注释 View 时会掉落针脚。但是当我在 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;
}

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

谢谢

最佳答案

确实很容易修复,尽管不确定这是否是正确的方法...

if (annotation == mapView.userLocation){
    return nil; //default to blue dot
}

关于iphone - showUserLocation 在 iPhone 模拟器中返回 pin 而不是蓝点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1853144/

10-13 09:43