2012-05-08 12 views
0

以下のコードを使用して、mapviewにカスタム注釈を設定しました。問題は、注釈画像の位置が正しくないことです。普通のピンを使用したときと同じように、スポットの代わりに実際の位置の右に少しずれています。カスタム注釈エラー

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation 
{ 
    if ([annotation isKindOfClass:[MKUserLocation class]]) 
     return nil; 
    static NSString* AnnotationIdentifier = @"AnnotationIdentifier"; 
    MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationIdentifier]; 
    if(annotationView) 
     return annotationView; 
    else 
    { 
     MKAnnotationView *annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation 
                     reuseIdentifier:AnnotationIdentifier] autorelease]; 
     annotationView.canShowCallout = YES; 
     annotationView.image = [UIImage imageNamed:[NSString stringWithFormat:@"townhouse.png"]]; 
     UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
     [rightButton addTarget:self action:@selector(writeSomething:) forControlEvents:UIControlEventTouchUpInside]; 
     [rightButton setTitle:annotation.title forState:UIControlStateNormal]; 
     annotationView.rightCalloutAccessoryView = rightButton; 
     annotationView.canShowCallout = YES; 
     annotationView.draggable = YES; 
     return annotationView; 
    } 
    return nil; 
} 

助けを借りていただければ幸いです。

/マーカス

答えて

1

マーカス、

カスタム注釈ビューを移動させることMKAnnotationViewのcenterOffsetプロパティを使用します。

annotationView.centerOffset = CGPointMake(xOffset, yOffest);

+0

ありがとう!それだった! :P – Marcus

関連する問題