Google Maps iOS SDK地图不会出现

时间:2018-10-18 23:44:25

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

我在GMSMapView上的地图显示为棕褐色,并且从未显示。我尝试了互联网上的所有建议,包括:

请三遍检查我的API密钥,并进行如下设置(注意:GooglePlaces 可以起作用):

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
    FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
    GMSPlacesClient.provideAPIKey("MY KEY")
    GMSServices.provideAPIKey("MY KEY")
    LocationService.sharedLocation.startUpdatingLocation()
    return true
}

我已启用iOS SDK:

enter image description here

我已将SDK添加到凭据中

enter image description here

我还对捆绑包ID正确进行了三遍检查(同样,GooglePlaces 可以正常工作)。

下面是我从Google网站获得的实现代码。

我在viewDidLoad内部调用:

private func initializeMap() {
    let camera = GMSCameraPosition.camera(
        withLatitude: (currentLocation?.coordinate.latitude)!,
           longitude: (currentLocation?.coordinate.longitude)!,
                zoom: zoomLevel
    )
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    mapView.isMyLocationEnabled = true
    mapView.delegate = self
    self.view = mapView
}

但是该地图没有出现。还有其他想法吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

在我的情况下,问题是我没有在Google Cloud Platform中启用iOS的Maps SDK,因为“入门”页面上的说明未对此进行任何说明。

因此,我启用了此功能,转到Apis & Services页(确保选择了正确的项目),单击“启用API和服务”,然后选择“ iOS版Maps SDK”,最后单击“启用”。

如果问题是您的用户无权使用此API,则可以按照以下说明授予它:https://cloud.google.com/endpoints/docs/openapi/enable-api

答案 1 :(得分:0)

我自己找到了问题的答案。我将GoogleMaps用作SDK和应用程序之间的共享容器(就像我对GooglePlaces所做的一样)。由于某种未知的原因(可能是Google API中的错误),这使其无法工作。当我仅将广告连播移到我的应用中时,它就可以工作。