2010-08-10 7 views
5

Je voudrais offrir à l'utilisateur la possibilité de sélectionner (manuellement) lat. et longtemps. coordonnées en touchant un MKMapView. Comment puis-je y parvenir? J'ai vu que le délégué MKMapView offre la méthode convertPoint:toCoordinateFromView:. Je pense que cela pourrait être un bon début, mais je ne sais pas comment créer un point à partir d'une action tactile.iPhone MapKit: sélectionnez l'emplacement (coordonnées) manuellement en appuyant sur MKMapView

J'apprécierais toute aide. Merci.

Répondre

6

Un objet UITouch (voir here) a l'API:

- (CGPoint)locationInView:(UIView *)view 

Ensuite, utilisez l'API MKMapView que vous avez identifié.

10

vwMap est le nom de MKMapview objet:

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(foundTap:)]; 
tapRecognizer.numberOfTapsRequired = 1; 
tapRecognizer.numberOfTouchesRequired = 1; 
[vwMap addGestureRecognizer:tapRecognizer]; 



-(IBAction)foundTap:(UITapGestureRecognizer *)recognizer { 
    CGPoint point = [recognizer locationInView:vwMap]; 
    CLLocationCoordinate2D tapPoint = [vwMap convertPoint:point toCoordinateFromView:vwMap]; 

    MKPointAnnotation *point1 = [[MKPointAnnotation alloc] init]; 
    point1.coordinate = tapPoint; 

    [vwMap addAnnotation:point1]; 
} 
+1

Très useful.Thanks. Ça marche – Bond

Questions connexes