iPhone MapKit可以通过一系列触摸绘制坐标



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

我的看法是:用户打开覆盖地图,滚动到任何地方,然后在地图上画一条线,线上的每个点都转换为坐标2D,地图套件在每个坐标处都会放下一个大头针。

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

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

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

应用手势识别器,然后尝试以下代码获取视图中的坐标,然后将其转换为纬度和经度。

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

注:未测试,但似乎可以工作,这应该在没有覆盖的情况下工作

代码来源于:触摸时如何在MKMapView(IOS)中添加图钉s接受的答案

最新更新