2017-03-08 291 views
0

我需要在地圖上註釋一個可見點(無需用戶輸入)。我正在使用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 

回答

0
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

哈哈,剛纔那段時間我可以接受。 –