我已经更改了我的 MapView 图钉图像,但我遇到了这个问题,其中一些点不会更改图钉图像,而其中一些会发生变化。问题会出在哪里呢?我添加了一个示例。
我的代码:
- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
MKPinAnnotationView *pinAnnotation = nil;
MKAnnotationView *pinView = nil;
if(annotation != locationMap.userLocation)
{
static NSString *defaultPinID = @"myPin";
pinAnnotation = (MKPinAnnotationView *)[locationMap dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if ( pinAnnotation == nil )
pinAnnotation = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];
pinAnnotation.canShowCallout = YES;
pinAnnotation.animatesDrop = YES;
pinAnnotation.enabled = YES;
//pinAnnotation.image = [UIImage imageNamed:@"pin.png"];
pinView.image = [UIImage imageNamed:@"pin.png"];
UIButton *infoButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
pinAnnotation.rightCalloutAccessoryView = infoButton;
}
return pinAnnotation;
return pinView;
}
最佳答案
使用常规 MKAnnotationView,而不是 MKPinAnnotationView 子类。即使您可以设置图像,但也不能保证它会粘住,因为它可以并且会再次将图钉图像设置回来。
关于ios - MapView 自定义 Pin 图问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18568118/