добавить наложения на существующие контакты в viewcontroller.m - PullRequest
0 голосов
/ 24 января 2011

Я новичок в программировании и obj-c, и в настоящее время работаю над приложением для iPhone на основе карты, которое будет определять местонахождение различных спортивных сооружений.Я хочу, чтобы на каждом выводе отображалось разное наложение, например, наложение изображений будет работать нормально, я добавлю фотографии в папку ресурсов и хочу, чтобы каждый вывод отображал другое изображение, щелкая его.Мой пример включает в себя только одну булавку со своими кординатами.Теперь у меня есть подсказка, с чего начать, надеюсь, вы поможете мне!

заранее спасибо:)

Вот мой код:

[mapView addAnnotation:[MapLocation mapLocationtWithTitle:@"Beckomberga Sim och Sporthall" subtitle:@"Söderberga Allé 80" andCoordinate:(CLLocationCoordinate2D){ 59.35817, 17.89740 }]]; 
}

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
 if([annotation isKindOfClass:[MapLocation class]])
 {
  MKPinAnnotationView *pin = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"PinAnnotation"];
  pin.canShowCallout = YES;
  pin.animatesDrop = NO;
  pin.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];


   pin.pinColor = MKPinAnnotationColorRed;

   pin.pinColor = MKPinAnnotationColorGreen;

  [pin autorelease];
  return pin;
 }
 return nil;
}

1 Ответ

0 голосов
/ 24 января 2011

Виктор,

Вот что вам нужно сделать:

  • Создать подобъект MKAnnotation, который будет представлять ваши местоположения, SportsFacilityLocation
  • Этот объект будет содержатьполя title, subtitle и location.Это должно соответствовать протоколу MKAnnotation
  • Далее вам нужен объект, который будет подклассом MKAnnotationView, SportsFacilityMapView.
  • Наконец, в вашем методе делегирования viewForAnnotation вам нужно проверить каждый тип аннотации и изэтот тип аннотации вы определите для возврата в SportsFacilityMapView

Проверьте документы о том, как реализовать Annotation, а затем AnnotationView.У меня дома есть пример кода, который я опубликую позже, если он вам понадобится.Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...