2010-07-21 2 views
0

J'essaye de tirer une carte dans mon applcation avec le constructeur d'interface using MKMapView mais pour une raison quelconque son n'apparaissant pas. Aussi, je veux ajouter un bouton à cette vue en cliquant sur ce que je peux parcourir un fichier existant dans mon iPhone.Comment mettre un bouton sur une carte dans Iphone

Veuillez me fournir la description de la barrette car je suis nouveau à ce sujet.

Merci,

+0

Vous ne pouvez pas simplement supprimer une broche en utilisant uniquement Interface Builder. – esqew

Répondre

1

Vous souhaitez ajouter une annotation à la carte, puis fournir une vue personnalisée pour elle.

Pour ajouter une annotation à la carte, adopter le protocole MKAnnotation dans l'un de vos objets et définissez sa coordonnée propriété à l'emplacement approprié latitude/longitude.

Ensuite, vous ajouterez l'annotation à la carte à l'aide de MKMapView addAnnotation.

Définissez la propriété délégué de la carte à votre contrôleur de vue, puis mettre en œuvre Mapview: viewForAnnotation:

Lorsque cette méthode est appelée, un retour MKAnnotationView pour votre annotation. Définissez la propriété image de MKAnnotationView sur l'image que vous souhaitez que l'annotation utilise (une image d'un bouton peut-être?).

Vous pouvez implémenter mapView: didSelectAnnotationView: si vous voulez savoir quand l'annotation a été sélectionnée.

Vous pouvez également définir un bouton accessoire sur l'annotation callout en utilisant leftCalloutAccessoryView et rightCalloutAccessoryView propriétés MKAnnotationView. Si vous faites cela, vous pouvez alors répondre lorsque l'utilisateur sélectionne le bouton de légende en implémentant mapView: annotationView: calloutAccessoryControlTapped:.

+0

En fait, ce que je suis en train de faire, c'est de tirer une carte dans mon applcation avec un constructeur d'interface en utilisant MKMapView mais pour une raison quelconque, il n'apparaît pas. Aussi, je veux ajouter un bouton à cette vue en cliquant sur ce que je peux parcourir un fichier existant dans mon iPhone. – Ashutosh

0
- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation 
{ 
    static NSString *AnnotationViewID = @"annotationViewID"; 

    annotationView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID]; 

    if (annotationView == nil) 
    { 
     annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID] autorelease]; 
    } 
    annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
    annotationView.image = [UIImage imageNamed:@"s11.png"]; 

    annotationView.annotation = annotation; 

    [annotationView setEnabled:YES]; 
    [annotationView setCanShowCallout:YES]; 

    return annotationView; 
} 
+0

en utilisant cela, vous pouvez ajouter un bouton dans l'annotation de votre pi, –

+1

Merci de partager cette info, mais comment pouvons-nous simplement tirer une carte à travers l'interface constructeur par glisser-déposer. J'ai fait la même chose mais ça ne s'est pas montré. Merci – Ashutosh

Questions connexes