我有一张地图,我要在其上显示带图像的自定义注释和一个带红色引脚的默认外观注释。
为了加载自定义图像,我已将我的视图转换为地图委托,但会发生的是我想要的默认搜索引脚未显示(因为我没有加载图像)。
我正在下面添加我的代码的缩短版本(带备注)。
如何为此引脚加载图像?是否有标准方法来访问引脚UIImage,或者我应该以某种方式制作注释?
- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
static NSString *SFAnnotationIdentifier = @"SFAnnotationIdentifier";
MKPinAnnotationView *pinView =
(MKPinAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:SFAnnotationIdentifier];
MKPointAnnotation* pointAnnotation = (MKPointAnnotation*)annotation;
if (!pinView)
{
MKAnnotationView *annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation
reuseIdentifier:SFAnnotationIdentifier];
for (id location in self.locations) {
// if this is a "special" point loaded
if () {
UIImage *image = ; // get custom image from somewhere
annotationView.image = image;
return annotationView;
}
}
// if the code made here, I want the pin to be regular
return annotationView;
}
else
{
pinView.annotation = annotation;
}
return pinView;
}
答案 0 :(得分:0)
好的,解决了。
return nil;
完成技巧并提供默认视图。
答案 1 :(得分:0)
更改
UIImage *image = ; // get custom image from somewhere
到
UIImage *image = [UIImage imageNamed:@"YourPin.png"]; // get custom image from somewhere
也许您需要更改annotationView的偏移量
annotationView.centerOffset = CGPointMake( 0, annotationView.centerOffset.y - annotationView.image.size.height/2 );