我得到了一个带有叠加层的MKMapView,允许用户手指在MKMapView上绘画。我知道手指画线在X,Y点方面是什么。 我想知道的是如何将此X,Y点数组转换为coordinate2D对象(纬度,经度)。
我看到的方式是:用户打开叠加贴图,滚动到任意位置,然后在地图上绘制一条线,线上的每个点都转换为坐标2D,地图套件在每个坐标处放置一个针脚。
我知道可以查询地图视图的中心坐标,但我不知道如何计算偏离中心的点的坐标。我知道纬度和经度略微“弯曲”,所以它不是一个简单的偏移方程式。
是否有关于如何将地图视图触摸转换为坐标的开源或示例项目?
PS。我打算将它用于iPhone控制的机器人项目,为机器人设置航路点。
答案 0 :(得分: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?已接受的答案