2

我正在开发一个 iPad 应用程序(iOS 5.1),我使用 MKMapView 在我的应用程序中显示地图。

我正在使用 MKUserTrackingModeNone、MKUserTrackingModeFollow、MKUserTrackingModeFollowWithHeading 在三种不同的地图方向模式之间切换,这很有效。

但是,当从 MKUserTrackingModeFollowWithHeading 切换到 MKUserTrackingModeNone 时,地图的方向没有重置为朝北方向(地图上的北方位于屏幕顶部),我遇到了问题。

在 ipad 自带的地图 app 上,流程是这样的:

  1. 当您启动应用程序时,它处于 MKUserTrackingModeNone 模式并且是北向的
  2. 当您切换方向模式时,它会更改为 MKUserTrackingModeFollow,并且方向仍然是北方。
  3. 当您再次切换时,它会更改为 MKUserTrackingModeFollowWithHeading,并且地图会根据您面向/指向 iPad 的方向旋转。
  4. 当您再次切换方向时,它会回到 MKUserTrackingModeNone,并且地图会很好地旋转回北向。

我希望我的应用程序在切换模式时在方向上的行为方式相同,但是当我按照上面的步骤 4 进行操作并从 MKUserTrackingModeFollowWithHeading 切换到 MKUserTrackingModeNone时,方向保持在进行方向切换而不是旋转之前的状态回到北方方向。

我正在使用放置在工具栏中的标准 MKUserTrackingBarButtonItem 控件进行方向切换。

关于如何解决这个问题的任何想法?

谢谢!

4

2 回答 2

0

这是一个有效的快速修复,虽然它不是很优雅:

https://stackoverflow.com/a/16576802/2077435

于 2013-05-16T18:31:17.593 回答
0

您是否使用标准的 iOS 按钮栏项目来执行此操作?我的应用程序确实如此,只要我将其从 followWithHeading 点按到 non,它就会向北旋转。

于 2012-06-10T19:01:29.867 回答