在mapview手势上获取坐标

时间:2011-08-15 14:02:38

标签: iphone xcode android-mapview touch-event

我如何获得用户在mapView上做一个longhold(例如2s)的点的纬度和经度。

我偶然发现了一个类似的问题:get coordinates on tap in iphone application

但我不明白如何在mapView上处理触摸事件。

我打算将针脚注释放到该位置,通过Google API进行必要的反向地理编码并将其显示在字幕上。首先,我需要获得所需的坐标。

非常感谢例子。

感谢。

1 个答案:

答案 0 :(得分:4)

您可以将从手势检索到的视图中的触摸坐标转换为gps坐标,如下所示......

- (void)mapLongPress:(UILongPressGestureRecognizer *)gestureRecognizer{
    if(gestureRecognizer.state == UIGestureRecognizerStateBegan){
        CGPoint touchLocation = [gestureRecognizer locationInView:mapView];

        CLLocationCoordinate2D coordinate;
        coordinate = [mapView convertPoint:touchLocation toCoordinateFromView:mapView];
    }
}

请注意,在我的示例中,我将手势应用于mapView本身。您必须将应用手势的视图传递给toCoordinateFromView:mapView