如果要将自己的图像用于注释视图,则应创建一个,
MKAnnotationView而不是
MKPinAnnotationView。
MKPinAnnotationView是的子类,
MKAnnotationView因此具有
image属性,但通常会覆盖该属性并绘制图钉图像(这就是它的作用)。
因此,将代码更改为:
-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation { MKAnnotationView *pinView = nil; if(annotation != mapView.userLocation) { static NSString *defaultPinID = @"com.invasivepre.pin"; pinView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID]; if ( pinView == nil ) pinView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID]; //pinView.pinColor = MKPinAnnotationColorGreen; pinView.canShowCallout = YES; //pinView.animatesDrop = YES; pinView.image = [UIImage imageNamed:@"pinks.jpg"]; //as suggested by Squatch } else { [mapView.userLocation setTitle:@"I am here"]; } return pinView;}请注意,
animatesDrop由于该属性仅存在于中,因此也将其注释掉
MKPinAnnotationView。
如果仍然要删除图像批注,则必须自己制作动画。您可以在Stack Overflow中搜索“ animatesdrop
mkannotationview”,并找到几个答案。



