2016-12-11 117 views
0

讓用戶的位置加載谷歌地圖非常麻煩。在用戶位置加載地圖 - iOS中的谷歌地圖

我已經使用了大量的資源,尤其是這一個,但它最後一次更新超過一年前,好好嘗試一下工作以及在斯威夫特3/8的Xcode (https://www.raywenderlich.com/109888/google-maps-ios-sdk-tutorial

任何人有一些樣本代碼或調整,可以幫助我做到這一點?

RayWenderlich教程的主要問題 - 不會讓我運行擴展中的函數。擴展中的導入類是多餘的,並引發錯誤。類,你不能使用擴展。所以,我試過只使用一個函數,但然後我得到一個錯誤,試圖調用 func locationManag ER(經理:CLLocationManager,didChangeAuthorizationStatus狀態:CLAuthorizationStatus)

+0

嘗試獲取用戶位置,然後使用它在開始時設置地圖位置。所以,地圖應該加載在中心的用戶位置。 –

回答

0

解決:

可變

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 
    } 

}