【问题标题】:Map Freezes on iOS 7 with Google Maps SDK 1.4使用 Google Maps SDK 1.4 在 iOS 7 上地图冻结
【发布时间】:2013-08-13 22:17:03
【问题描述】:

我在 iOS 7 beta 4 和 5 上使用 Google Maps SDK 1.4(以及 1.2...可能是其他版本)时发现了一个奇怪的问题。

在运行 iOS 7 beta 4 或 5 的设备上进行短暂的缩放和平移后,我的 GMSMapView 将停止响应手势。当您触摸它时,它不会缩放或平移或做任何事情。

发生这种情况时,屏幕上显示的所有其他界面元素都将保持功能。以编程方式从视图中删除和添加地图将重新启用地图。旋转设备不会影响地图。 它只发生在运行 iOS 7 测试版的设备上,而不是在运行 iOS 7 的模拟器上。在 iOS 5.1 和 6.x 设备上运行相同的应用程序不会重现此问题。

有没有其他人遇到过这样的问题?我不是一个经验丰富的 iOS 开发人员,所以我可能会遗漏一些简单的东西。

非常感谢!

【问题讨论】:

  • 我的没问题...
  • 我在模拟器上遇到了同样的问题
  • 在 v1.4.3 和 7.0 GM 中遇到同样的问题
  • 您能否确认这是否仍然是 v1.5 和 7.0 GM 的问题?如果是的话,你能在code.google.com/p/gmaps-api-issues 上用源代码提交一个错误吗?我需要一个复制案例才能进行工程研究。
  • 我在 iOS 7 和 Google 地图 1.6.1 上仍然看到这个问题...

标签: google-maps-sdk-ios


【解决方案1】:

UINavigationController 上的 GMSMapView(UIViewController)。 在 viewDidLoad 方法中插入这段代码。

-(void)viewDidLoad {

    [super viewDidLoad];

    // iOS7   add this code  
    if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
        self.navigationController.interactivePopGestureRecognizer.enabled = NO;
    }

.... your codes

}

【讨论】:

  • 我的应用程序中不再有这个问题,并且不确定它什么时候可以自行修复,但我很好奇这是否适用于其他人,更重要的是,它为什么有效。跨度>
  • 这似乎已经解决了这个问题。为此+1,你能解释一下这背后的原因吗?
  • iOS 7 有一个内置功能,允许用户通过从屏幕左边缘向右滑动来向后导航导航控制器。看起来这段代码禁用了该功能,因为我只能假设 iOS 的 interactivePopGestureRecognizer 可能会干扰 Google 的地图手势识别器。
【解决方案2】:

下载最新版本的 Google Maps SDK。此问题已在 1.8.0 版 - 2014 年 5 月中得到解决。

检查release notes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多