MKMapView-> отображают кнопку для моего местоположения

У меня есть a MKMapView реализованный с этими строками исходного кода (мое местоположение является синим маркером, другой, фиолетовые контакты):

- (MKAnnotationView *)mapView:(MKMapView *)mapViewLocal viewForAnnotation:(id <MKAnnotation>)annotation {
    if (annotation == mapViewLocal.userLocation) {
        mapViewLocal.userLocation.title = @"Test";
        [mapViewLocal setRegion:MKCoordinateRegionMakeWithDistance(mapViewLocal.userLocation.coordinate, 1000, 1000) animated:YES];
        return nil;
    }

    MKPinAnnotationView *pinView = (MKPinAnnotationView*)[mapViewLocal dequeueReusableAnnotationViewWithIdentifier:@"Pin"];
        if(pinView == nil) {
            pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Pin"] autorelease];
            pinView.pinColor = MKPinAnnotationColorPurple;
            pinView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
            pinView.animatesDrop = NO;
            pinView.canShowCallout = YES;
        } else {
            pinView.annotation = annotation;
        }
        return pinView;
    }

Фиолетовые контакты имеют кнопку раскрытия детали, но моя аннотация не имеет того. Как я могу установить такую кнопку?

И это - метод, где я могу сделать что-то, что кнопка является pressd:

-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control

Как я мог дифференцировать между своим местоположением и всеми другой, потому что мне нужна другая обработка. Есть ли другой делегат, или я должен сделать некоторое выражение if?

5
задан Alexander Farber 12 March 2014 в 21:33
поделиться