iPhone地图:区分用户位置与其他引脚

时间:2010-05-19 15:37:33

标签: iphone mkmapview

除了用户当前位置外,我的地图上还有许多注释。这种方法很好,除了用户当前位置的默认颜色与所有其他注释相同。我想将引脚绿色设置为用户当前位置,以便可以从其他引脚中唯一识别。我该怎么做?

Bellow是我一直在使用的方法(我无法找到确定哪个注释是用户当前位置的方法):

- (MKAnnotationView *)mapView:(MKMapView *)mapViewLocal viewForAnnotation:(id <MKAnnotation>)annotation {
    static NSString *identifier = @"Pin";
    MKPinAnnotationView *pinView = (MKPinAnnotationView*)[mapView dequeueReusableAnnotationViewWithIdentifier:identifier];

    if (pinView == nil)
    {
        pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier] autorelease];
        pinView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        pinView.animatesDrop = YES;
        pinView.canShowCallout = YES;
    }
    else
    {
        pinView.annotation = annotation;
    }

    return pinView;
}

1 个答案:

答案 0 :(得分:3)

如果您对用户位置使用标准MKUserLocation类型,那么您可以检查注释的类型是否相同:

...
if ([annotation isKindOfClass:[MKUserLocation class]]){
// This is annotation for user location
}