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

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

问题描述:

我需要在地图上注释一个可见点(无需用户输入)。我正在使用MKMapView visibleMapRect来计算我想要的点。然而从我的代码下面,我正在读取的值,如将MKMapRect.origin转换为经度和纬度

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 

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

这是......一个简单的解决方案,我完全错过。谢谢 –

+0

@BenOng请标记为答案,如果它解决了您的问题:) – chengsam

+0

哈哈,刚才那段时间我可以接受。 –