我正在开发一个 iPad 应用程序(iOS 5.1),我使用 MKMapView 在我的应用程序中显示地图。
我正在使用 MKUserTrackingModeNone、MKUserTrackingModeFollow、MKUserTrackingModeFollowWithHeading 在三种不同的地图方向模式之间切换,这很有效。
但是,当从 MKUserTrackingModeFollowWithHeading 切换到 MKUserTrackingModeNone 时,地图的方向没有重置为朝北方向(地图上的北方位于屏幕顶部),我遇到了问题。
在 ipad 自带的地图 app 上,流程是这样的:
- 当您启动应用程序时,它处于 MKUserTrackingModeNone 模式并且是北向的
- 当您切换方向模式时,它会更改为 MKUserTrackingModeFollow,并且方向仍然是北方。
- 当您再次切换时,它会更改为 MKUserTrackingModeFollowWithHeading,并且地图会根据您面向/指向 iPad 的方向旋转。
- 当您再次切换方向时,它会回到 MKUserTrackingModeNone,并且地图会很好地旋转回北向。
我希望我的应用程序在切换模式时在方向上的行为方式相同,但是当我按照上面的步骤 4 进行操作并从 MKUserTrackingModeFollowWithHeading 切换到 MKUserTrackingModeNone时,方向保持在进行方向切换而不是旋转之前的状态回到北方方向。
我正在使用放置在工具栏中的标准 MKUserTrackingBarButtonItem 控件进行方向切换。
关于如何解决这个问题的任何想法?
谢谢!