2012-08-02 80 views
1

我得到了一个覆盖层的MKMapView,允许用户用手指画在MKMapView上。我知道X,Y点的手指线是什么。 我想知道的是如何将这个X,Y点的数组转换为坐标2D对象(经度,纬度)iPhone MapKit是否可以映射一系列触摸的坐标?

我看到它的方式是:用户打开覆盖地图,滚动到任意位置,然后在地图上绘制一条线,线上的每个点都转换为坐标2D,地图工具包在每个坐标处放下一个针。

我知道地图视图的中心坐标可能会被查询,但我不知道如何计算偏离中心点的坐标。我知道经度和纬度略微“曲线”,所以它不是一个简单的偏移方程。

有没有关于如何将地图视图触摸转换为坐标的任何开源或示例项目?

PS。我打算将这个用于iPhone控制的机器人项目来为机器人设置路标。

回答

3

应用手势识别器,然后尝试下面的代码来获得视图的坐标,然后将它们转换为经度和纬度。

CGPoint touchPoint = [gestureRecognizer locationInView:self.mapView]; 
    CLLocationCoordinate2D touchMapCoordinate = 
     [self.mapView convertPoint:touchPoint toCoordinateFromView:self.mapView]; 

注:没有测试,但看起来这会工作,这应该没有覆盖工作

代码归功于:How to add a push pin to a MKMapView(IOS) when touching?的接受的答案