首页 文章

在用户位置加载 Map - iOS中的Google Map

提问于
浏览
0

在使用用户的位置加载谷歌 Map 时遇到很多麻烦 .

我在Swift 3 / Xcode 8中运行良好(https://www.raywenderlich.com/109888/google-maps-ios-sdk-tutorial

任何人都有一些示例代码或调整分享,可以帮助我实现这一目标?

RayWenderlich教程的主要问题 - 不允许我在扩展中运行函数 . 扩展中导入的类是冗余的,并抛出错误 . 没有这些类,您不能使用扩展 . 所以,我尝试只使用一个函数,但后来尝试调用func locationManager时遇到错误(manager:CLLocationManager,didChangeAuthorizationStatus status:CLAuthorizationStatus)

1 回答

  • 1

    解决了:

    变量

    var centerMap = true
    

    viewDidLoad中

    super.viewDidLoad()
        self.locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        locationManager.requestWhenInUseAuthorization()
        if CLLocationManager.locationServicesEnabled() {
            self.locationManager.startUpdatingLocation()
            self.mapView?.isMyLocationEnabled = true
            print("locationserviceson")
            centerMap = true
    

    用户位置更改时更新的功能

    func locationManager(_ manager: CLLocationManager, didUpdateLocations location: [CLLocation]) {
        print("yes")
    
        userLocation = location.last!
        if centerMap == true {
            self.mapView.camera = GMSCameraPosition.camera(withTarget: userLocation.coordinate, zoom: 15.0)
            self.locationManager.stopUpdatingLocation()
            centerMap == false
        }
    
    }
    

相关问题