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

Ben*_*Ong 4 mkmaprect swift

我需要注释地图上的可见点(无需用户输入)。我正在使用 MKMapViewvisibleMapRect来计算我想要的点。然而,从下面的代码中,我正在读取类似的值

let rect = mapView.visibleMapRect
print(rect.origin.x) //211653840.83766
print(rect.origin.y) //133214809.161136
Run Code Online (Sandbox Code Playgroud)

这不是经度和纬度。但是我发现的任何 MKMapRect 和坐标之间转换的例子都好像原点已经以经度和纬度给出了。我需要做什么才能从中获取经度和纬度visibleMapRect?或者有没有一个公式可以转换我得到的经度和纬度值?

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

103.861463   //longitude
1.3165999    //latitude
Run Code Online (Sandbox Code Playgroud)

当visibleMapRect为:

211653840.83766   //origin.x
133214809.161136  //origin.y
16865.6084111989  //size.width
26357.4158187151  //size.height
Run Code Online (Sandbox Code Playgroud)

che*_*sam 6

let rect = mapView.visibleMapRect
let mapPoint = MKMapPointMake(rect.origin.x, rect.origin.y)
let coordinate = MKCoordinateForMapPoint(mapPoint)
print(coordinate.latitude)
print(coordinate.longitude)
Run Code Online (Sandbox Code Playgroud)