首页 > 解决方案 > Domain=kCLErrorDomain Code=1 "(null)" Google Maps IOS

问题描述

实际上代码中没有错误。但是当我运行我的应用程序时,谷歌地图没有显示在模拟器和输出区域或调试中向我显示这句话 Error Domain=kCLErrorDomain Code=1 "(null)

这是一张图片,显示模拟器确实有谷歌地图,但它没有显示,当它运行时它向我显示这句话 Error Domain=kCLErrorDomain Code=1 "(null)

在此处输入图像描述

这是代码:

导入 UIKit 导入 GoogleMaps

类视图控制器:UIViewController,CLLocationManagerDelegate{

@IBOutlet weak var googleMap: GMSMapView!
let locationManager = CLLocationManager()
override func viewDidLoad() {
    super.viewDidLoad()
    locationManager.delegate = self
    if CLLocationManager.locationServicesEnabled(){
        locationManager.requestLocation()
    }
    else{
        locationManager.requestWhenInUseAuthorization()
    }
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    googleMap.camera = GMSCameraPosition(target: CLLocationCoordinate2D(latitude: locationManager.location?.coordinate.latitude ?? 0.0, longitude: locationManager.location?.coordinate.longitude ?? 0.0), zoom: 8, bearing: 0, viewingAngle: 0)
    
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: locationManager.location?.coordinate.latitude ?? 0.0, longitude: locationManager.location?.coordinate.longitude ?? 0.0)
    marker.title = "I'm here"
    marker.snippet = "I'm here"
    marker.map = googleMap
}
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
    print(error)
}
func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
    switch manager.authorizationStatus {
    case .authorizedAlways:
        return
    case .authorizedWhenInUse:
        return
    case .denied:
        return
    case .restricted:
        locationManager.requestWhenInUseAuthorization()
    case .notDetermined:
        locationManager.requestWhenInUseAuthorization()
    default:
        locationManager.requestWhenInUseAuthorization()
    }
}

}

标签: swiftxcode

解决方案


我找到了这个问题的答案 GoogleMaps 的 API 密钥无效 就是这样 我只需更改 API 密钥


推荐阅读