2012-04-16 3 views
2

Я хотел бы настроить собственное изображение вместо обычного вывода на карте. Я также хочу, чтобы он мог быть открыт и добавить к ним аннулирование капли.MKPinAnnotationView пользовательское изображение

Любое предложение?

EDIT: Вот все, что я

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(ActivityAnnotation *)annotation 
{ 
    static NSString* AnnotationIdentifier = @"AnnotationIdentifier"; 
    MKPinAnnotationView* pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier]; 
    pinView.animatesDrop=YES; 
    pinView.canShowCallout=YES; 
    UIImage *image = [UIImage imageNamed:@"Map_Pin"]; 
    pinView.image = image; 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
    imageView.frame = CGRectMake(-2.5,6,27,30); 
    [pinView addSubview:imageView]; 
    UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
    rightButton.tag = [activities indexOfObject:annotation.activity]; 
    [rightButton addTarget:self action:@selector(showDetails:) forControlEvents:UIControlEventTouchUpInside]; 
    pinView.rightCalloutAccessoryView = rightButton; 

    return pinView; 
} 

Все работает отлично, но оригинальный пин продолжает получать отображаться за мое по умолчанию изображения. Как я могу его удалить?

ответ

6

Не используйте MKPinAnnotationView, но вместо этого используйте MKAnnotationView. MKPinAnnotationView по умолчанию показывает булавки и только позволяет настраивать цвет (если я не ошибаюсь). MKAnnotationView позволяет создавать пользовательские пин-изображения.

+0

Да, но если я использую MKAnnotationView, как я могу сделать анимацию анимации? – sergiocg90

+1

Вам тогда нужно окунуться в себя. Это немного раздражает, чтобы вычислить вершину координат карты, но это простая анимация в позиции кадра. –

+0

https://gist.github.com/2399387 Этот метод является примером того, как я бросаю свои MKAnnotationViews с помощью пользовательской анимации. –

Смежные вопросы