位置情報をバックグラウンドで取得したいです。
以下のコードをどこに貼れば位置情報のバックグラウンド更新ができますか?
swift
1 locationManager?.distanceFilter = 10 2 locationManager?.pausesLocationUpdatesAutomatically = false 3 locationManager?.allowsBackgroundLocationUpdates = true 4 locationManager = CLLocationManager() 5 locationManager?.delegate = self 6 locationManager?.desiredAccuracy = kCLLocationAccuracyNearestTenMeters 7 locationManager?.requestAlwaysAuthorization() 8 locationManager?.startUpdatingLocation()
また、didUpdateLocationsを使い、人が10m歩いたらfirebaseのリアルタイムデータベースにその時の座標を書き込むということはできますか?
その場合は以下のコードでいいですか?
swift
1func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 2 3 let userLocation:CLLocation = locations[0] 4 5 let lat:CLLocationDegrees = userLocation.coordinate.latitude 6 let long:CLLocationDegrees = userLocation.coordinate.longitude 7 let currentPos:CLLocationCoordinate2D = CLLocationCoordinate2DMake(lat, long) 8 9 10 print(lat) 11 print(long) 12 if lat != nil{ 13 ref.child("locations").childByAutoId().setValue(["latitude": lat, "longitude": long]) 14 } 15 16 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。