将MKMapRect.origin转换为经度和纬度

时间:2017-03-08 09:36:06

标签: swift mkmaprect

我需要在地图上注释一个可见点(没有用户输入)。我正在使用MKMapView visibleMapRect来计算我想要的点。但是从我下面的代码中,我正在读取像

这样的值
let rect = mapView.visibleMapRect
print(rect.origin.x) //211653840.83766
print(rect.origin.y) //133214809.161136

这不是经度和纬度。但是我发现MKMapRect和Coordinates之间转换的任何例子都像是在经度和纬度上已经给出了原点。我需要做些什么才能从visibleMapRect获得经度和纬度?或者是否有一个公式来转换我在经度和纬度上得到的值?

有关其他信息,可见点的经度和纬度为:

103.861463   //longitude
1.3165999    //latitude

当visibleMapRect为:

211653840.83766   //origin.x
133214809.161136  //origin.y
16865.6084111989  //size.width
26357.4158187151  //size.height

1 个答案:

答案 0 :(得分:0)

let rect = mapView.visibleMapRect
let mapPoint = MKMapPointMake(rect.origin.x, rect.origin.y)
let coordinate = MKCoordinateForMapPoint(mapPoint)
print(coordinate.latitude)
print(coordinate.longitude)