定位自定义MKAnnotationView

时间:2012-12-12 20:28:39

标签: ios mkannotation mkannotationview mapkit

我按如下方式创建自定义MKAnnoationView:

- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
    static NSString* AnnotationIdentifier = @"AnnotationIdentifier";
    MKAnnotationView* customPinView = [[MKAnnotationView alloc]
                                           initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier];

    UIImage *pinImage = [PowerPlantAnnotation getAnnotationImageForEnergySource:((PowerPlantAnnotation*)annotation).energySource];
    customPinView.image = pinImage;
    return customPinView;
}

我得到的图像或多或少位于正确的位置,但并不完全。我的图片看起来像这样:

enter image description here

我希望泪滴的底点指向我的注释贴图坐标,就像标准针脚视图指向地图坐标一样。我怎么能做到这一点?目前它看起来更像是我的图像以地图坐标为中心。

1 个答案:

答案 0 :(得分:14)

默认情况下,注释视图中心位于注释坐标处。要调整视图位置,请设置其centerOffset属性:

annotationView.centerOffset = CGPointMake(0.0f, -annotationViewHeight/2);