iPhone: MKMapAnnotationView: текущее местоположение имеет тот же вид аннотации, что и другие контакты. Как сделать его уникальным? - PullRequest
0 голосов
/ 24 мая 2011

Я использую следующий метод, чтобы показать MKAnnotation View на моем mapView.Но я сделаю так, что текущее местоположение пользователя также будет отображаться так же, как и другие контакты.Как сделать текущее местоположение уникальным цветом для булавки

    - (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation
{
    MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] 
                                  initWithAnnotation:annotation 
                                  reuseIdentifier:@"currentloc"];
    //annView.pinColor = MKPinAnnotationColorGreen;

     UIButton *myDetailButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
     myDetailButton.frame = CGRectMake(0, 0, 23, 23);
     myDetailButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
     myDetailButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

    [myDetailButton addTarget:self 
                        action:nil/*@selector(checkButtonTapped:event:)*/ 
              forControlEvents:UIControlEventTouchUpInside];

    annView.rightCalloutAccessoryView = myDetailButton;

    annView.animatesDrop=NO;
    annView.canShowCallout = YES;
    annView.calloutOffset = CGPointMake(-5, 5);
    return annView;
}

1 Ответ

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

В вашем методе viewForAnnotation проверьте, является ли аннотация экземпляром MKUserLocation . Если это так, верните nil:

if ([annotation isMemberOfClass:[MKUserLocation class]]) return nil;
...