Google Maps SDK for iOS无法显示地图内容。

12
我使用的是Google Maps SDK for iOS的当前版本1.1.2。地图仅显示了Google标志、当前位置和添加的标记,但没有任何地图内容:

enter image description here

我已正确注册了API密钥:
BOOL result = [GMSServices provideAPIKey:@"<my key>"];

结果是YES,我验证了bundleIdentifier与API控制台匹配。我从Storyboard加载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个回答

16

我自己找到了解决方案。

我正在使用Auto Layout。显然,在-viewDidLoad中,Auto Layout还没有完成其工作,我的GMSMapView仍然具有CGRectZero框架。 GMSMapView似乎对零框架非常挑剔。

[self.view layoutIfNeeded];

在设置相机之前,这个问题就已经被解决了。


谢谢!正是我遇到的问题。 - kender

16

这也可能是由于在你的Google API控制台中,在API密钥下没有输入正确的Bundle ID所致。


4

以防万一有人来到这里,但什么都不起作用...

我遇到了这个问题,感到很无聊,于是我缩小了地图,并发现自己弄错了位置,我的地图中心在沙漠中央!地图本来是正常工作的。

所以,尝试缩小地图,以防万一。


2
谢谢,我不小心反转了纬度/经度,并且显然我在北极海! - ekscrypto
1
@ekscrypto 你永远不知道开发会带你去哪里。 :) - Skoua

1
如果您在XCode项目中同时包含了GoogleMaps.frameworkGoogleMapsM4B.framework(商业版地图),请移除GoogleMapsM4B.framework
否则,您需要通过企业支持门户启用Google Maps Mobile SDK for Work,而不是从Cloud Console启用Google Maps SDK for iOS

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接