我得到了一个带有覆盖层的 MKMapView,它允许用户在 MKMapView 上进行手指绘画。我知道用 X、Y 点绘制的线是什么。 我想知道的是如何将这个 X、Y 点数组转换为坐标 2D 对象(纬度、经度) .
我看到它的方式是:用户打开叠加 map ,滚动到任何地方,然后在 map 上画一条线,线上的每个点都转换为坐标 2D, map 套件在每个坐标处放置一个图钉。
我知道可以查询 map View 的中心坐标,但是我不确定如何计算偏离中心的点的坐标。我知道纬度和经度有点“弯曲”,所以它不是一个简单的偏移方程。
是否有任何关于如何将 map View 触摸转换为坐标的开源或示例项目?
PS。我打算将它用于 iPhone 控制的机器人项目,为机器人设置航点。
最佳答案
应用手势识别器,然后尝试下面的代码以获取 View 上的坐标,然后将它们转换为纬度和经度。
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?接受的答案
关于iPhone MapKit 是否可以从一系列触摸中映射坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11777436/