适用于iOS的Google Maps SDK不显示地图内容

时间:2013-04-03 22:33:07

标签: ios iphone google-maps-sdk-ios

我正在使用适用于iOS的Google Maps SDK的当前版本1.1.2。地图仅显示Google徽标,当前位置和添加的标记。但是没有任何地图内容:

enter image description here

我正确注册了API密钥:

BOOL result = [GMSServices provideAPIKey:@"<my key>"];

结果为YES,我验证了bundleIdentifier与API控制台匹配。我从故事板加载GMSMapView并在我的-viewDidLoad

中设置相机
self.mapView.camera = [GMSCameraPosition cameraWithLatitude:0 longitude:0 zoom:2];

这是由GMSMapView记录的:

Failed to make complete framebuffer object 8cd6
Failed to make complete framebuffer object 8cd6
Google Maps SDK for iOS version: 1.1.2.2533
GMSZoomTableQuadTree lacks root zoom table for tile type (mapType: 10)
GMSZoomTableQuadTree lacks root zoom table for tile type (mapType: 15)

知道什么可能导致这个问题吗?

5 个答案:

答案 0 :(得分:16)

自己找到解决方案。

我正在使用自动布局。显然,在-viewDidLoad中,自动布局尚未完成其工作,我的GMSMapView仍然有一个CGRectZero框架。 GMSMapView似乎对零帧反应非常挑剔。

[self.view layoutIfNeeded];

在设置相机之前解决了我的问题。

答案 1 :(得分:12)

这也可能是因为您的Google API控制台中没有在API密钥下输入正确的捆绑ID。

答案 2 :(得分:2)

万一有人来到这里,没有任何作用......

我遇到了这个问题并且感到无聊所以我解开了地图,发现我搞砸了位置,我的地图中心位于沙漠中间! 地图工作得很好。

因此,请尝试取消缩放,以防万一。

答案 3 :(得分:0)

我也遇到了同样的问题。问题是我在代码的两个不同位置使用了两个iOS Api密钥。请检查您是否使用了谷歌Api控制台中的正确的API密钥(iOS密钥) 。在你的应用程序中使用相同的密钥。

答案 4 :(得分:0)

如果您在XCode项目中同时包含了 GoogleMaps.framework GoogleMapsM4B.framework (Maps for Business),请删除 GoogleMapsM4B.framework

否则,您需要通过企业支持门户启用 Google Maps Mobile SDK for Work ,而不是从Cloud Console中启用 iOS版Google Maps SDK