我有点问题。
我实施了viewForAnnotation
来为地图上的图钉渲染自定义图像
但它认为图像有问题。
使用标准的电话引脚图标,它工作正常,但使用自定义图像,因为您可以看到引脚的底部不是应该的位置。
销的底部应位于红线的末端
我想必须有一些尺码问题。
有人可以告诉我在为pin创建自定义图像时应该使用什么尺寸?
答案 0 :(得分:5)
请尝试以下代码。它使用委托方法放置一个引脚。
- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation
{
MKAnnotationView *annotationView = [[MKAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@"annotationReuse"];
UIImage *pinImage = [UIImage imageNamed:@"pi-image.png"];
annotationView.image = pinImage;
annotationView.centerOffset = CGPointMake(0, -pinImage.size.height/2);
return annotationView;
}
答案 1 :(得分:3)
请参阅centerOffset
。
默认情况下,注释视图的中心点位于关联注释的坐标点。您可以根据需要使用此属性重新定位注释视图。该x和y偏移值以像素为单位测量。正偏移值向下和向右移动注释视图,而负值向上和向左移动。