2010-08-10 6 views
5

Ich möchte dem Benutzer die Möglichkeit bieten, (manuell) lat auszuwählen. und lang. Koordinaten durch Berühren einer MKMapView. Wie kann ich das erreichen?iPhone MapKit: Wählen Sie den Standort (Koordinaten) manuell durch Berühren von MKMapView

Ich habe gesehen, dass die MKMapView Delegierten bietet die Methode convertPoint:toCoordinateFromView:. Ich denke, das könnte ein guter Anfang sein, aber ich weiß nicht, wie man aus einer Touch-Aktion einen Punkt schafft.

Ich würde jede Hilfe zu schätzen wissen. Vielen Dank.

Antwort

6

A UITouch Objekt (siehe here) hat die API:

- (CGPoint)locationInView:(UIView *)view 

Dann nutzen Sie die MKMapView API Sie identifiziert.

10

vwMap ist der Name MKMapview Objekt:

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

Sehr useful.Thanks. Es klappt – Bond