iPhone MapKit:触摸MKMapView手动选择位置(坐标)

jcd*_*dmb 5 iphone mapkit mkmapview

我想为用户提供(手动)选择lat的可能性.而且很长.触摸一个坐标MKMapView.我怎样才能做到这一点?

我已经看到MKMapView委托提供了方法convertPoint:toCoordinateFromView:.我认为,这可能是一个很好的开始,但我不知道如何通过触摸动作创建一个点.

我将不胜感激任何帮助.谢谢.

pkc*_*456 10

vwMapMKMapview对象的名称:

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];
}
Run Code Online (Sandbox Code Playgroud)


Eri*_*ric 6

一个UITouch对象(见这里)有API:

- (CGPoint)locationInView:(UIView *)view
Run Code Online (Sandbox Code Playgroud)

然后使用MKMapView您标识的API.