除了用户当前位置外,我的地图上还有许多注释。这种方法很好,除了用户当前位置的默认颜色与所有其他注释相同。我想将引脚绿色设置为用户当前位置,以便可以从其他引脚中唯一识别。我该怎么做?
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;
}
答案 0 :(得分:3)
如果您对用户位置使用标准MKUserLocation
类型,那么您可以检查注释的类型是否相同:
...
if ([annotation isKindOfClass:[MKUserLocation class]]){
// This is annotation for user location
}