2010-07-06 6 views
1

Je voudrais émuler la fonction 'Drop Pin' dans l'application Maps. J'ai un mapview dans mon contrôleur que je suis capable d'ajouter un MKPlacemark à. Cependant, il ne répond pas à l'action de l'utilisateur. Est-ce que je peux émuler la broche déposée avec des classes de stock ou dois-je sous-classer une vue MKAnnotation?Comment avoir un MKPlacemark mobile?

EDIT2:

Voici le code que je suis en train, que je pense devrait fonctionner. Il laisse tomber la goupille, et je peux changer la couleur mais elle ne peut pas être déplacée.

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id 
     <MKAnnotation>)annotation 
{ 
    MKPinAnnotationView *pinView = [[MKPinAnnotationView alloc] 
     initWithAnnotation:annotation reuseIdentifier:nil]; 
    [pinView setDraggable:YES]; 
    [pinView setAnimatesDrop:YES]; 
    [pinView setPinColor:MKPinAnnotationColorGreen]; 
    return pinView; 
} 

Répondre

1

Avec iOS 4, c'est nativement possible. Avez-vous ajouté une annotation personnalisée ou un MKPinAnnotationView?

Regardez la propriété "draggable" dans MKAnnotationView.

+0

J'ai essayé d'utiliser le MKPinAnnotationView juste après avoir posé la question, mais ne pouvait toujours pas que pour travailler. Je pense qu'il me manque quelque chose parce que XCode donne un avertissement que MKPinAnnotationView n'implémente pas le protocole MKAnnotation. Voir modification ci-dessus – Derrick