2010-08-10 64 views
5

我想爲用戶提供(手動)選擇緯度的可能性。和長。座標通過觸摸MKMapView。我怎樣才能做到這一點?我看過MKMapView代表提供了方法convertPoint:toCoordinateFromView:。我認爲,這可能是一個很好的開局,但我不知道如何通過觸摸操作創建一個點。iPhone MapKit:通過觸摸MKMapView手動選擇位置(座標)

我將不勝感激任何幫助。謝謝。

回答

6

一個UITouch對象(見here)具有API:

- (CGPoint)locationInView:(UIView *)view 

然後使用你所確定的MKMapView API。

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

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