MKMapPoint到CGPoint

时间:2016-07-05 09:42:33

标签: ios swift uiview uibezierpath cllocationcoordinate2d

我已经在iPhone应用程序中成功地在Swift2.0中的本地mapView上绘制了一个MKPolygon。我导入了CLLocationCordinate2D' s,结果很完美。

然而,我真正的目标是在UIView中绘制这个叠加层,因为图形将成为数据分析应用程序的一部分(用户可以将图表创建为png并在PowerPoint等中使用)。我在想一个UIBezierPath。

我已经尝试使用mapView.convert方法将我的CLLocationCordinate2D带到另一个视图,这些点非常接近。 ultimate aim

如果我的mapView是645w x 399h,我预计黑点的范围是(约)(34,93),(59,160),(108,165),(112,193),( 131,202)等(从左上角算起)。

在本地缩放的地图上没有任何作品,我被困在想法中。非常感谢您的建议。

1 个答案:

答案 0 :(得分:1)

每次平移或缩放地图时,相关的CGPoint都会发生变化。因此,当您将坐标转换为CGPoint时,请确保已调整地图,然后仅将地图点转换为CGPoint。

创建一个与MKMapView大小相同的UIView。将MKMapView添加到UIView。这将确保参考您的父视图具有相同的CGPoint。

下面的行将帮助您将地图坐标转换为CGPoint。

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