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

问题描述:

我想为用户提供(手动)选择纬度的可能性。和长。坐标通过触摸MKMapView。我怎样才能做到这一点?我看过MKMapView代表提供了方法convertPoint:toCoordinateFromView:。我认为,这可能是一个很好的开局,但我不知道如何通过触摸操作创建一个点。iPhone MapKit:通过触摸MKMapView手动选择位置(坐标)

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

一个UITouch对象(见here)具有API:

- (CGPoint)locationInView:(UIView *)view 

然后使用你所确定的MKMapView API。

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]; 
} 
+1

非常useful.Thanks。有用 – Bond 2014-12-17 13:14:45