在使用用户位置加载Google地图时遇到很多麻烦。
我一直在使用一些资源,特别是这个资源,但它最近一年前更新过,在Swift 3 / Xcode 8中效果不佳 (https://www.raywenderlich.com/109888/google-maps-ios-sdk-tutorial
任何人都有一些示例代码或调整可以帮助我实现这个目标吗?
RayWenderlich教程的主要问题 - 不允许我在扩展中运行这些功能。扩展中导入的类是冗余的,并抛出错误。没有这些类,您不能使用扩展。所以,我尝试只使用一个函数,但后来尝试调用时出错 func locationManager(manager:CLLocationManager,didChangeAuthorizationStatus status:CLAuthorizationStatus)
答案 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
}
}