4

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

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
4

1 回答 1

5
let rect = mapView.visibleMapRect
let mapPoint = MKMapPointMake(rect.origin.x, rect.origin.y)
let coordinate = MKCoordinateForMapPoint(mapPoint)
print(coordinate.latitude)
print(coordinate.longitude)
于 2017-03-08T09:46:10.713 回答