Google Maps iOS SDK:地图未加载

kal*_*kal 1 google-maps ios google-maps-sdk-ios swift

我是iOS开发的新手,正在尝试使用Google Maps SDK的简单应用.我按照Google地图入门指南中列出的步骤操作.

我看到过类似的问题: 谷歌地图iOS SDK集成没有加载地图 ,其中问题是捆绑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
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 以下是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
        }
    
    }
    
    Run Code Online (Sandbox Code Playgroud)

我在模拟器和真正的手机上运行它.我得到了标记和Google徽标,但没有地图.有人可以提供一些线索吗?

kal*_*kal 12

嗨,我发现了问题并解决了问题.问题在于API密钥 - 而不是代码.在IOS应用程序之前,我正在尝试一个示例android地图应用程序,我使用相同的控制台创建新的api密钥而不启用IOS的谷歌地图API.

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

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

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

-Kal