2012-04-12 9 views
12

tengo una anotación que muestra en MapKit con una imagen personalizada, mostrando bien,MapKit espectáculo de anotación por defecto

pero la anotación muestra después de grabar el pasador,

¿Cómo puedo tener la proyección de anotación por defecto? cuando comienzo la vista? haciendo clic en el pin.

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


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

    NSString *annotationIdentifier = @"PinViewAnnotation"; 

    MKPinAnnotationView *pinView = (MKPinAnnotationView *) [mapView 
                  dequeueReusableAnnotationViewWithIdentifier:annotationIdentifier]; 


    if (!pinView) 
    { 
     pinView = [[[MKPinAnnotationView alloc] 
        initWithAnnotation:annotation 
        reuseIdentifier:annotationIdentifier] autorelease]; 

     [pinView setPinColor:MKPinAnnotationColorGreen]; 
     pinView.animatesDrop = YES; 
     pinView.canShowCallout = YES; 

     UIImageView *houseIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tijereta.png"]]; 
     pinView.leftCalloutAccessoryView = houseIconView; 
     [houseIconView release];   
    } 
    else 
    { 
     pinView.annotation = annotation; 
    } 

    return pinView; 

} 

gracias

+0

¿Quiere decir que la llamada? – yinkou

+0

hola gracias, he editado mi pregunta para incluir el código utilizado, tenga en cuenta el canShowCallout, ¿es esto a lo que se refiere ?, por lo que la imagen funciona, pero ¿cómo puedo hacer que la anotación se muestre al iniciar la vista? – MaKo

+0

Tu código parece correcto, pero no entiendo lo que quieres decir con "haz que la anotación se muestre al iniciar la vista". ¿Desea centrar el mapa en él o desea seleccionarlo mediante programación para ver su leyenda? – yinkou

Respuesta

35

puede utilizar esta

[mapView selectAnnotation:pinView animated:YES]; // aquí pinView es su anotación y MapView es su hoja de

esperanza de que ayudó a

Cuestiones relacionadas