2012-08-31 59 views
2

长按自定义注释引脚变为默认红色引脚。mkmapview中注释引脚的自定义图像

- (MKAnnotationView *) mapView:(MKMapView *)mapingView viewForAnnotation:(id <MKAnnotation>) annotation { 
MKPinAnnotationView *annView = nil; 
     if(annotation != mapingView.userLocation) 
     { 

      static NSString *defaultPinID = kDEFAULTPINID; 
      annView = (MKPinAnnotationView *)[mapingView dequeueReusableAnnotationViewWithIdentifier:defaultPinID]; 
      if (annView == nil) 
      annView = [[MKPinAnnotationView alloc] 
              initWithAnnotation:annotation reuseIdentifier:defaultPinID] ; 


      annView.canShowCallout = YES; 
      annView.image = [UIImage imageNamed:@"icon.png"];//sets image for default pin 

} 
return annView; 
} 


- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKPinAnnotationView *)view 
    { 
     if ([[view.annotation title] isEqualToString:@"AnnotationTitle"]) { 

      view.image = [UIImage imageNamed:@"selected_IconImage.png"]; 
     } 
    } 

只需触摸注释针,出现所选图像。 但是长时间在引脚上自定义图像恢复为默认红色引脚。

如何解决这个问题?

回答

12

使用MKAnnotationView而不是MKPinAnnotationView,我猜地图视图进行某种形式的复位,可以追溯到默认图像(这是你看到图钉图像)

+0

由于它的工作原理。 –