【发布时间】:2012-07-10 08:27:46
【问题描述】:
我的地图上有一个路径渲染。我有一系列航路点,我正在模拟通过它们的运动。
当更改显示区域时,我的坐标在转换为 CGPoint 时似乎是 Apple 实现的 floorf。这会导致外观非常紧张,而不是平滑。
有没有办法解决这个问题?
[m_mapView setRegion: MKCoordinateRegionMake(coord, MKCoordinateSpanMake(0, 0))];
然后地图会尝试以这个给定点为中心。但是,该点可能不是像素对齐的,可以通过以下函数查看。
CGPoint point = [m_mapView convertCoordinate:coord toPointToView:m_mapView];
因此,地图视图将中心点的结果置于底层,以对齐底层地图的所有像素。
【问题讨论】:
-
你说的是哪个坐标?当您使用
setRegion:animated:更改地图区域时,不涉及 CGPoint。 -
为了清楚起见,我更新了我的问题。这有帮助吗?
-
在这种特殊情况下,您可以使用 m_mapView.center
-
您是说
CGPoint point,例如,等于{122.45, 201.68},并且以{122, 201}为中心,这还不够好?而且,您如何选择重新集中在哪些点上?通常,当我想到“航路点”时,那些是不常见的兴趣点。例如,发生转弯的地方。您是否正在对自己进行插值以沿路径使用许多“航路点”,然后真的频繁地重新定位地图? -
你应该使用覆盖和/或注释来显示路径,那么你不需要
convertCoordinate:toPointToView: