MKMapview cambia la image de anotación

- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id<MKAnnotation>)annotation { NSLog(@"annotion"); CGSize imgSize; MKAnnotationView *pinView = nil; static NSString *defaultPinID = @"pin"; pinView = (MKAnnotationView *) [self.m_mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID]; pinView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID]; pinView.canShowCallout = NO; pinView.image = [UIImage imageName:@"blue.jpg"]; return pinView; } - (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view{ view.image = [UIImage imageName:@"orange.jpg"] } 

Agregué annotations en mapView con image (es decir, image azul). Cuando toco una anotación, cambié la image (es decir, image naranja). luego toco en otra anotación de cambio de anotación (es decir, image de cambio) a (es decir, image azul) y cambio de la anotación seleccionada en (es decir, image de cambio). cualquier ayuda se aplicará. Gracias por adelantado

Intente así, puede ser útil.

Vuelva a cargar todas las demás annotations.

 - (void)mapView:(MKMapView *)mapView didSelectAnnotationView (MKAnnotationView *)view{ for (id<MKAnnotation> annotation in mapView.annotations){ MKAnnotationView* anView = [mapView viewForAnnotation: annotation]; if (anView){ anView.image = [UIImage imageName:@"blue.jpg"]; } } view.image = [UIImage imageName:@"orange.jpg"]; } 

Prueba esto

para swift 3.0

 for annotation: MKAnnotation in mapView.annotations { let anView = mapView.view(for: annotation) if (anView != nil) { anView?.image = UIImage(named: "home_pin") } } view.image = UIImage(named: "home_pin01")