2016-07-05 35 views
0

我已經成功地在Swift2.0中的iPhone應用程序中通過本地mapView繪製了MKPolygon。我導入了CLLocationCordinate2D,結果是完美的。MKMapPoint到CGPoint

但是我的真正目的是在UIView中繪製這個覆蓋圖,因爲圖形將成爲數據分析應用程序的一部分(用戶可以在png中創建圖表並在PowerPoint中使用)。我正在考慮一個UIBezier路徑。

我已經試過mapView.convert方法把我的CLLocationCordinate2D到另一個視圖和點非常非常接近。 ultimate aim

如果我的MapView被645瓦特X 399h我期望的黑點是在(約)(108,165)的範圍內(34,93),(59,160),(112,193 ),(131,202)等(從左上角計算)。

沒有在本地縮放的地圖上工作,我堅持想法。真心感謝您的建議。

回答

1

每次平移或縮放地圖時,關聯的CGPoint都會發生變化。因此,當您將座標轉換爲CGPoint時,請確保您已調整了地圖,然後只將地圖點轉換爲CGPoint。

創建一個與MKMapView相同大小的UIView。將MKMapView添加到UIView。這將確保具有與您的父視圖相同的CGPoint。

下面的代碼會幫助您將地圖座標轉換爲CGPoint。

[self.mapView convertCoordinate:your_map_coordinate toPointToView:self.view] 
+0

這工作得很好。使用這種方法,我創建了一個CGPoint數組,並在一個單獨的視圖中創建了一個UIBezier,並填充並撫摸它。非常感謝你 –

+0

@RogerGardner目前正在經歷這個過程並詢問關於我的問題的問題。如果可能的話,你能提供一個我過去幾天掙扎的解決方案嗎? http://stackoverflow.com/q/41951229/5434541 – lifewithelliott