Google地图 - 更新用户位置

时间:2018-04-21 12:34:50

标签: ios google-maps google-maps-sdk-ios

我正在使用谷歌地图SDK for iOS。 isMyLocationEnabled设置为true

有时,使用位置会更新到正确的位置。但有时位置不会更新。 我想知道这个选项是否使用了用户的原始坐标?还有,可以选择更新用户位置吗?我说的是蓝点。

enter image description here

1 个答案:

答案 0 :(得分:0)

可能会有所帮助:

import Foundation
import CoreLocation

class Location: NSObject {

  static let shared = Location()
  var locationManager = CLLocationManager()

  func locationManagerSetup() {
    // Ask for Authorisation from the User.
    locationManager.requestAlwaysAuthorization()

    // If location services is enabled get the users location
    if CLLocationManager.locationServicesEnabled() {
      locationManager.delegate = self
      locationManager.desiredAccuracy = kCLLocationAccuracyBest
      locationManager.requestLocation()
      locationManager.startUpdatigLocation()
    }

  }

}

extension Location: CLLocationManagerDelegate {

  func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    if let location = locations.first {
      // do something
      manager.stopUpdatingLocation()
    }
    else {
      manager.requestLocation()
    }
  }

  func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
    manager.requestLocation()
  }

  // If we have been deined access give the user the option to change it
  func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
    if(status == CLAuthorizationStatus.denied) {
      // do something
    }
  }
}