1

我得到了一个带有覆盖层的 MKMapView,它允许用户在 MKMapView 上进行手指绘画。我知道用 X、Y 点绘制的线是什么。我想知道的是如何将这个 X,Y 点数组转换为坐标 2D 对象(纬度,经度)

我看到它的方式是:用户打开叠加地图,滚动到任何地方,然后在地图上画一条线,线上的每个点都转换为坐标 2D,地图套件在每个坐标处放置一个图钉。

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

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

PS。我打算将它用于 iPhone 控制的机器人项目,为机器人设置航点。

4

1 回答 1

3

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

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

注意:未经测试,但似乎可以使用,这应该可以在没有覆盖的情况下使用

代码信用转到:触摸时如何向 MKMapView(IOS) 添加图钉?接受的答案

于 2012-08-02T12:33:53.760 回答