MKMapView注释图像从位置移位

时间:2015-04-16 09:39:56

标签: objective-c iphone mapkit

我有一个带有自定义注释图像的MKMapview,当我点击注释时,我将图像更改为更大尺寸的图像,这会导致点移动。

有没有办法确保图像再次在纬度和经度上对齐?

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
    MKPointAnnotation * pin = view.annotation;

    if ([pin isKindOfClass:[MKUserLocation class]])
    {
        return;
    }

    NSMutableString * imageName = [[NSMutableString alloc] initWithString:[((SpotView *)self.baseView) generatePin:self.category]];

    [imageName appendString:@"-selected"];

    view.image = [UIImage imageNamed:imageName];
}

结果:

Before Selection After Selection

1 个答案:

答案 0 :(得分:0)

我已使用didSelectAnnotationView方法

中的以下属性修复了我的问题
customPinView.centerOffset = CGPointMake(xOffset,yOffset);

并在didDeselectAnnotationView方法

中将其设置为零
customPinView.centerOffset = CGPointMake(0, 0);