Как настроить контакт аннотации карты в MKMapView с iPhone?

Привет друзья,

Я хочу разработать функциональность MKMapView в iPhone и показать настраиваемый PIN-код в MKAnnotation, чтобы кто-нибудь мог предоставить мне ссылку или какое-либо представление об этой функции.

Заранее спасибо.


person Nikunj Jadav    schedule 04.08.2011    source источник


Ответы (1)


Вам нужно будет указать изображение аннотации в методе делегата viewForAnnotation

- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation {
        static NSString * const kAnnotationId = @"VumeliveAnnotation";

    MKPinAnnotationView *annotationView = nil;
    if ([annotation isKindOfClass:[CustomAnnotation class]])
    {
        annotationView = (MKPinAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:kAnnotationId];
        if (annotationView == nil) {
            annotationView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:kAnnotationId] autorelease];
            annotationView.canShowCallout = YES;
            annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        }

        [annotationView setImage:[UIImage imageNamed:<your image name>]];
    }

    return annotationView;
}
person Bushra Shahid    schedule 04.08.2011
comment
Большое спасибо, дайте мне код, но я хочу установить изображение вместо булавки карты по умолчанию, так что любая идея об этом ... - person Nikunj Jadav; 04.08.2011
comment
этот код именно это и делает ... он не добавит пин-код по умолчанию, а не изображение, которое вы здесь указываете [annotationView setImage:[UIImage imageNamed:<your image name>]]; - person Bushra Shahid; 05.08.2011
comment
Спасибо, и есть ли способ установить номер индекса на булавке карты в mapview ?? пожалуйста, скажите мне - person Nikunj Jadav; 05.08.2011
comment
У меня это работает на симуляторе, но не на реальном iPad (iOS 5.0.1). Есть идеи, почему? - person Joseph DeCarlo; 19.01.2012
comment
@JosephDeCarlo, ваше изображение может отсутствовать в ресурсах пакета. Убедитесь, что он присутствует в папке вашего проекта и добавлен в ресурсы пакета. Если изображение отсутствует в одном из этих двух, оно отображается в симуляторе, но не на устройстве. Надеюсь это поможет - person Bushra Shahid; 01.02.2012