定位自定义MKAnnotationView

Dar*_*ren 8 mapkit mkannotation mkannotationview ios

我创建一个自定义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;
}
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

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

Vla*_*mir 14

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

annotationView.centerOffset = CGPointMake(0.0f, -annotationViewHeight/2);
Run Code Online (Sandbox Code Playgroud)