MapKitとCoreLocationを使用してiOSアプリケーションを構築しています。ユーザーが実際に移動したときに確認する
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.setupUI()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
self.mapView.delegate = self
self.locationManager.startUpdatingLocation()
self.mapView.showsUserLocation = true
geoCoder = CLGeocoder()
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location: CLLocation = locations.last!
// self.addressView.text = "\(location.coordinate.latitude) \(location.coordinate.longitude)"
geoCode(location)
if (zoomed == false) {
zoomToUserLocationAnimated(true)
zoomed = true
}
}
この機能は、ユーザーが移動しなくても呼び出されます。私はOSX上でiOSシミュレータを使用しています。私は場所をシミュレートしていますので、シミュレータは動かないとは思っていますが、まだこの関数が呼び出されています。ユーザが作成したかどうかを確認する方法があるかどうかを知りたい実際の動き?
ありがとうございました
どのようにLocation Managerサービスを開始していますか? – Abizern
私の編集を参照してください:) –
[startMonitoringSignificantLocationChanges()](https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManager_Class/#//apple_ref/occ/instm/CLLocationManager/startMonitoringSignificantLocationChanges)を試してみてください。 'startUpdatingLocation() 'の代わりに – Abizern