Вид карты сбрасывает несколько контактов - PullRequest
2 голосов
/ 14 июля 2011

Я хочу показать местоположение пользователя на карте и удалить контакт, но мое приложение сбрасывает два контакта, разделенных на некотором расстоянии. Я хочу знать, как я могу удалить старый контакт, когда новый контакт сброшен, чтобы на нем был один контакткарта Мой код:

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

    MKPinAnnotationView *pinView = nil; 


    if(annotation != mapView.userLocation) 
    {



        static NSString *defaultPinID = @"com.invasivecode.pin";
        pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
        if ( pinView == nil ) pinView = [[[MKPinAnnotationView alloc]
                                          initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];



        pinView.pinColor = MKPinAnnotationColorGreen; 
        pinView.canShowCallout = YES;
        pinView.animatesDrop = YES;


        UILabel *label =[[UILabel alloc] initWithFrame:CGRectMake(0, -200, 300, 37)];

        [label setNumberOfLines:4];


        [label setFont:[UIFont boldSystemFontOfSize:10]];

        [label setText:[address objectAtIndex:0]];



        SportUpAppDelegate *appDelegate =[[UIApplication sharedApplication]delegate];



        appDelegate.currentLocation=[address objectAtIndex:0];


        [label setTextAlignment:UITextAlignmentLeft];
        [label setBackgroundColor:[UIColor clearColor]];
        [label setTextColor:[UIColor whiteColor]];


        [pinView setLeftCalloutAccessoryView:label];
        [label release];




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

1 Ответ

1 голос
/ 14 июля 2011

вы используете новый вывод, когда удаляете аннотацию старого вывода, используйте эту функцию

[mapView removeAnnotations:mapView.annotations]; 
[mapView removeFromSuperview];

после удаления из суперпредставления позвоните в карту загрузки .... снова используйте

[self.view addSubview:mapView];

где mapView - это имя mapView

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