Google 地图(GMS 视图)不会在 iOS 中显示

GoogleMaps (GMSView) Won't display in iOS

我合并了以下内容:

  1. 尝试通过 Obj-C 桥接头
  2. 导入 GoogleMaps/GoogleMaps.hGoogleMapsM4B/GoogleMaps.h 文件
  3. 在我的 AppDelegate.swift (didFinishLaunchingWithOptions) 方法中手动输入 iOS API 键。
  4. 清理了项目(command+shift+k)
  5. Closed/relaunched Xcode
  6. Uninstalled/reinstalled Xcode

以及几乎所有其他人建议的内容。我已经连续两天试图解决这个问题。有谁知道这个问题的解决方案吗?

控制台投诉是:

> "2015-08-17 18:02:19.899 Project[608:10014] ClientParametersRequest
> failed, 3 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790bc050
> {data=<CFData 0x7925cb40 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:19.899 randoPracty[608:10014] Google Maps SDK for iOS
> (M4B) version: 1.10.17867.0 2015-08-17 18:02:19.959
> randoPracty[608:10014] ClientParametersRequest failed, 2 attempts
> remaining (0 vs 6). Error Domain=com.google.HTTPStatus Code=400 "The
> operation couldn’t be completed. (com.google.HTTPStatus error 400.)"
> UserInfo=0x7925cf40 {data=<CFData 0x79187b20 [0x22da9a8]>{length =
> 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ...
> 3c2f48544d4c3e0a}} 2015-08-17 18:02:24.406 randoPracty[608:10014]
> ClientParametersRequest failed, 1 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790f4c60
> {data=<CFData 0x786e5610 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.797 randoPracty[608:10014] ClientParametersRequest
> failed, 0 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390
> {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.797 randoPracty[608:10014] Google Maps SDK for iOS
> (M4B) cannot connect or validate APIKey: Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390
> {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.798 randoPracty[608:10014] Your key may be invalid
> for your bundle ID: com.User.ProjectName"

能否更新您的问题以提供更多详细信息? (xcode 版本,Google 地图框架版本等)

  1. 仔细检查您的 API 密钥是否对 console.developer.google.com
  2. 上的捆绑 ID 有效
  3. 当运行时,检查并查看控制台中是否出现任何 SSL 错误。就我而言,我遇到了 Google 的证书问题,这干扰了我的地图图块加载。
  4. 确保您的项目中只有 M4B 框架或普通框架。如果两者都包括在内,我很确定它们相互冲突。

希望这对您有所帮助;在我的情况下,它只是随机开始正常工作。

我也遇到了同样的问题。首先按照以下步骤操作。

  1. thislink中提到的所有步骤你都遵循了吗?

  2. 虽然您无法通过,但请检查您的 Bundle Identifier 是否与您用来创建密钥的标识符匹配。

如果一切都很好,那就是框架的问题。最初我也使用了对我不起作用的 GoogleMapsM4B 框架。我从 this link.

下载了另一个适合我的框架

添加新框架 (GoogleMaps.framework) 并从项目中删除 GoogleMapsM4B 框架。这解决了我的问题。希望对你有帮助。

编辑:

从1.10.0版本开始,只支持通过cocoapods安装框架。并且删除了以前版本的所有 zip 下载。阅读 this link 中 "Version 1.10.0 - May 2015" 下的 "Migration from 1.9.2 or earlier:" 部分。

只需在 Google Developers Console 中为您的项目启用 "Google Maps SDK for iOS"。

检查 Xcode 项目目标设置中指定的 Bundle 标识符,以及您在其中创建 google API 密钥的 google 项目页面。两者都应该匹配,否则 GMSServices.provideAPIKey(googleMapsAPIKey) 将通过,但您将收到连接错误

The operation couldn’t be completed. (com.google.HTTPStatus error 400.)

我遇到了同样的问题。在我的情况下,我必须在 Google 的概述部分手动激活 iOS 的 Google Maps SDK 和 iOS 的 Google Places SDK s API 图书馆.

激活步骤为:

  1. 转到 API 库中的 概述 页面。
  2. 在此处选择 Google Maps SDK for iOSGoogle Places SDK for iOS.

  1. 选择左上角的第二项。在屏幕截图上,它现在已启用。在它被禁用之前。

也许这对某人也有帮助。

亲切的问候 马特

我也遇到了这个问题,经过一个小时的谷歌搜索和#SO 杂耍后,我开始知道这个小错误:

如果您更改了 API 密钥(在开发过程中的某处)

[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

您将其添加到 AppDelegate.m 文件中的 didFinishLaunchingWithOptions: 方法中。确保它与您用来激活 Google 地方 API here

的相同

希望在尝试了所有解决方案后对某人有所帮助。