iphone программирования target-c: проблема пин-кода mkannotation - PullRequest
0 голосов
/ 12 апреля 2011

Я попытался сделать индивидуальный значок на карте зеленым цветом и с помощью кнопки. но это не работает. У меня есть класс с именем Placemark, который реализует протокол mkannotation. Это мой метод, который должен показывать зеленый значок, но это не так:

- (MKAnnotationView *) map:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>) annotation{
    MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];
    annView.pinColor = MKPinAnnotationColorGreen;
    annView.animatesDrop=TRUE;
    annView.canShowCallout = YES;
    annView.calloutOffset = CGPointMake(-5, 5);
    return annView;
}

Я также хочу указать, что мой MKMapview называется "map" и это IBOutlet.

спасибо

1 Ответ

1 голос
/ 12 апреля 2011

Имя метода должно быть mapView:viewForAnnotation:.Вид карты выглядит специально для этого имени.Вы можете изменить имена переменных внутренних параметров, но не части перед двоеточиями.

Попробуйте это:

- (MKAnnotationView *) mapView:(MKMapView *)map 
                            viewForAnnotation:(id <MKAnnotation>) annotation

При такой орфографической ошибке представление карты не вызывает ваш метод viewForAnnotation и должноставить на карту красный значок по умолчанию.

...