定位自定义 MKAnnotationView

Posted

技术标签:

【中文标题】定位自定义 MKAnnotationView【英文标题】:Positioning a custom MKAnnotationView 【发布时间】:2012-11-30 15:30:22 【问题描述】:

我创建一个自定义的 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;

我得到了我想要或多或少定位在正确位置的图像,但不是完全正确。我的图像如下所示:

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

在这种情况下。视图的中心与确切的坐标位置对齐。的销的底部应该在坐标的准确性。

以上是关于定位自定义 MKAnnotationView的主要内容,如果未能解决你的问题,请参考以下文章

无法定位自定义navigationItem titleView

UITTabBarController 自定义(重新定位标签栏)

地理定位的自定义消息

显示缺货产品 - 定位自定义帖子类型

定位 WooCommerce 类别的高级自定义字段

将 keydown 事件定位到 angularJS 自定义指令