MKMapView - 保持用户居中并覆盖屏幕上mapview绘制的路线

时间:2015-07-08 13:43:41

标签: ios objective-c cocoa mkmapview mkcoordinateregion

我正在尝试实现如下:

  1. 用户应始终位于MKMapView的屏幕中心。
  2. 当用户移动时,路线将在地图上绘制。
  3. 我知道,我可以计算区域以覆盖屏幕上的所有跟踪点。
  4. 但这是我的问题: 当我计算MKCoordinateRegion并设置它时,它只适合最适合屏幕的区域,但是当我试图将用户置于中心时,MKMapView上绘制的线条的一部分就会离开屏幕。

    任何人都可以面对此问题或处理此特定案例的任何建议,任何帮助都将受到高度赞赏。

    提前致谢。

1 个答案:

答案 0 :(得分:2)

我完成了如下:

  1. 计算距离用户当前位置(或您想要保留在中心的任何点)的最远点距离。

  2. 使用您的中心点(用户在我的情况下的当前位置)计算区域,并将上面计算的距离加倍,并使用以下代码创建区域:

    CLLocationCoordinate2D loc = [myLocation coordinate];

    MKCoordinateRegion region =       MKCoordinateRegionMakeWithDistance(loc,distance * 2,distance * 2);

  3. 在MapView上设置区域,路径将显示在屏幕内,保持用户位于中心位置。

  4. 感谢。