我正在使用适用于iOS的Google Maps SDK的当前版本1.1.2。地图仅显示Google徽标,当前位置和添加的标记。但是没有任何地图内容:
我正确注册了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)
知道什么可能导致这个问题吗?
答案 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 。