2

MKAnnotationView次のコードを使用して、2 つのタイトルを設定しています。

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

if(([annotation isKindOfClass:[Test_flag class]])) 
{

    MKAnnotationView *pinView = nil; 

    if(annotation != mapView.userLocation) 
    {
        static NSString *defaultPinID = @"PinId1";
        pinView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
        if ( pinView == nil ) pinView = [[[MKAnnotationView alloc]
                                          initWithAnnotation:annotation reuseIdentifier:@"pin1"] autorelease];
        pinView.canShowCallout = YES;
        pinView.animatesDrop = YES;
        [pinView setImage:[UIImage imageNamed:@"flg.png"]];
        [pinView setSelected:YES animated:YES];

    } 
    else 
    {
        [mapView.userLocation setTitle:@"I am here"];
    }
    return pinView;
}
else if(([annotation isKindOfClass:[Distance1 class]])) 
{
    MKAnnotationView *pinView = nil; 

    if(annotation != mapView.userLocation) 
    {
        static NSString *defaultPinID = @"PinId4";
        pinView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
        if ( pinView == nil ) pinView = [[[MKAnnotationView alloc]
                                          initWithAnnotation:annotation reuseIdentifier:@"pin4"] autorelease];

        pinView.canShowCallout = YES;
        [pinView setImage:[UIImage imageNamed:@"Circle_Grey.png"]];
        [pinView setSelected:YES animated:YES];

    } 
    else 
    {
        [mapView.userLocation setTitle:@"I am here"];
    }
    return pinView;
}

地図をタッチすると、どちらMKAnnotationViewも指さしているのにタイトルが表示されません。理由は何ですか?見つけるのを手伝ってください。

4

1 に答える 1

0

クラスtitleでメソッドを書き損ねました。Test_flag

于 2012-08-23T08:04:36.443 に答える