【问题标题】:Google Maps iOS SDK: Map not loadingGoogle Maps iOS SDK:地图未加载
【发布时间】:2017-10-15 09:18:37
【问题描述】:

我是 iOS 开发的新手,我正在尝试使用 Google Maps SDK 开发一个简单的应用程序。我正在按照Google Maps Getting Started guide 中列出的步骤进行操作。

我见过类似的问题: Google Maps iOS SDK Integration not loading maps 问题出在捆绑 ID 上。我确定不是我的情况。

我已经花了 3 天时间从头开始尝试新应用。

  • 我创建了一个新的 api 密钥,添加了我的包 ID。

  • 我添加了 API 密钥:

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        GMSServices.provideAPIKey("MYKEY")
        return true
    }
    
  • 下面是 ViewController.swift:

    import UIKit
    import GoogleMaps
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
            let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
            view = mapView
    
            let marker = GMSMarker()
            marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
            marker.title = "Sydney"
            marker.snippet = "Australia"
            marker.map = mapView
        }
    
    }
    

我在模拟器和真机上运行它。 我得到了标记和谷歌标志,但没有地图。谁能提供一些线索?

【问题讨论】:

  • 您是否下载了GoogleInfo.plist并添加到您项目中的目标中?
  • 它们是您代码中的问题。一是您正在设置地图的矩形,二是您必须将地图添加为子视图。你可以按照这个教程raywenderlich.com/109888/google-maps-ios-sdk-tutorial
  • 感谢指点 - 我没有添加 .plist 并且我只是在关注谷歌入门指南。我会尝试你的建议,并会回来..
  • @Aks,我没有使用 firebase。我没有找到如何为谷歌地图获取 GoogleService-Info.plist。
  • @Waqas,您发送的链接似乎很旧,我在对象库中找不到 MapViewController。我认为它与 api 密钥有关,有什么方法可以在谷歌控制台中调试正在接收的内容以及遇到的错误?

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


【解决方案1】:

您好,我发现了问题并解决了问题。 问题在于 API 密钥 - 而不是代码。 在 IOS 应用程序之前,我正在尝试一个示例 android 地图应用程序,并且我使用相同的控制台来创建新的 api 密钥,而无需为 IOS 启用 google maps api。

开发人员控制台以某种方式允许在 API 密钥上添加 IOS 限制,即使 SDK for IOS 未启用 - 正因为如此,我从没想过我需要做更多的事情。

如果您收到此错误并且您已验证捆绑 ID 是最新的,请检查以下内容:

  • 转到https://console.developers.google.com
  • 点击仪表板
  • 点击页面顶部带有 + 标记的“启用 API 和服务”。
  • 检查您是否启用了“Google Maps SDK for iOS”。如果不是,请启用它。
  • 重新运行您的应用并享受 :)

-卡尔

【讨论】:

  • 上帝,谢谢!我正在拔头发。配置 Google SDK 是最糟糕的!他们甚至没有在他们的文档中提到它。
  • 这在 2019 年底对我有用,我使用的是 Maps SDK API Key 而不是 iOS key (auto created by Google Service)。使用后者而不是前者使它对我有用。
【解决方案2】:

请确保在第一次运行项目之前生成正确的 api 密钥。我遇到了类似的问题,并通过使用此链接为 iOS(而不是 javascript 或 android)生成和启用正确的 APIKey 来修复它 -- APIKey for iOS

【讨论】:

    猜你喜欢
    • 2013-08-01
    • 2017-04-10
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    相关资源
    最近更新 更多