我在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:
我已将SDK添加到凭据中
我还对捆绑包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
}
但是该地图没有出现。还有其他想法吗?
答案 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中的错误),这使其无法工作。当我仅将广告连播移到我的应用中时,它就可以工作。