我想实现以下目标:
- 用户应该始终在MKMapView的屏幕中央。
- 当用户移动时,在地图上绘制路线。 我知道,我可以计算出覆盖屏幕上所有跟踪点的区域。
但我的问题是:当我计算mkcoordinaterregion并设置它时,它只适合最适合屏幕的区域,但一旦我试图将用户置于中心,在MKMapView上绘制的线的一部分就会出屏幕。
任何人都可以面对这个问题或任何建议来处理这个具体情况,任何帮助将是非常感激的。
我已经完成了如下工作:
-
计算距离用户当前位置(或任何你想保持在中心的点)的最远点的距离
-
计算区域,以您的中心点(在我的情况下用户的当前位置)和上面计算的距离加倍,并使用以下代码创建一个区域:
CLLocationCoordinate2D loc = [myLocation坐标];
mkcoordinatereregion区域=MKCoordinateRegionMakeWithDistance(loc, distance * 2, distance * 2);
-
在MapView上设置区域,轨迹将显示在屏幕内部,保持用户的位置在中心
谢谢。