【问题标题】:How to rotate iOS MKMapView so that it north-oriented when switching tracking mode?切换跟踪模式时如何旋转iOS MKMapView使其朝北?
【发布时间】:2013-05-17 02:31:17
【问题描述】:

我正在开发一个 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 控件进行方向切换。

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

谢谢!

【问题讨论】:

    标签: ios mkmapview ipad-2


    【解决方案1】:

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

    【讨论】:

    • 嗨,克雷格。是的,我使用的是标准的 iOS 按钮栏项目,但它的行为方式与您的应用程序中的行为方式不同。您使用的是什么版本的 SDK?你有没有在 iPad 2 上测试过(这就是我正在测试我的应用程序的设备)?
    • 我在 iPhone 4s 上的 iOS 5.1.1 上运行它。我相信几个月前我在测试期间借用了一台 iPad 2 上的 5.1 版本。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-16
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多