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

时间:2016-12-11 21:01:25

标签: google-maps swift3 xcode8

在使用用户位置加载Google地图时遇到很多麻烦。

我一直在使用一些资源,特别是这个资源,但它最近一年前更新过,在Swift 3 / Xcode 8中效果不佳 (https://www.raywenderlich.com/109888/google-maps-ios-sdk-tutorial

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

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

1 个答案:

答案 0 :(得分: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
    }

}