2016-07-05 41 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