как хранить информацию о булавке в MKPinAnnotation - PullRequest
0 голосов
/ 10 мая 2011

На самом деле, я получил много информации о станциях техобслуживания из веб-сервиса, они здесь, я отобразил для каждой станции аннотацию булавки, чтобы показать ее на карте с UIButtonTypeDetailDisclosure, теперь я хочу сохранить длякаждый пин-код содержит некоторую дополнительную информацию, такую ​​как:

float lng = [[stationEnCours objectForKey:@"ssiphone_longitude"] floatValue];//that's how i retrieve it from web-service
float lat = [[stationEnCours objectForKey:@"ssiphone_latitude"] floatValue];//that's how i retrieve it from web-service

для моей цели, я использую этот хорошо известный метод делегата:

 -(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
    {
        NSLog(@"calloutAccessoryControlTapped");
//how to do to store additional informations

    }

но я заблокирован, как я могу сохранитьдополнительная информация, связанная с каждым пин-кодом, помогите, пожалуйста, любые предложения, пример кода, учебные пособия будут оценены :))))) спасибо заранее

1 Ответ

2 голосов
/ 10 мая 2011

Да, объявите все свои свойства в MyLocation.h (класс, который реализует MKAnnotation). При создании аннотаций и перед вызовом addAnnotation установите свойства.

В calloutAccessoryControlTapped получите свойства, подобные этим (в примере используются свойства в MyLocation, определенные в предыдущем вопросе):

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
    MyLocation *myLoc = (MyLocation *)view.annotation;
    NSLog(@"calloutAccessoryControlTapped: enseigneDeLaStation = %@, distanceVersLaStation=%@", myLoc.enseigneDeLaStation, myLoc.distanceVersLaStation);
}
...