如何不经常更新我在 Firebase 中的位置数据?
How do I update my location data in Firebase infrequently?
我正在使用每 500 米或更长时间更新一次位置的 Significant-Change Location 服务。因此,如果用户长途驾驶,该位置会非常频繁地更新,并且由于我在每次更新时都会使用该位置更新我的 firebase 数据库,所以这将是大量的写入。我如何限制我更新数据库的次数,例如,每小时更新一次数据库或仅在新位置更新停止或其他情况下更新?
This is my current code:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let lastLocation = locations.last!
lat = lastLocation.coordinate.latitude
long = lastLocation.coordinate.longitude
db.collection(coll).document(uid).updateData(["loc": GeoPoint(latitude: lat!, longitude: long!)])
}
我所做的是说,如果自数据库中上次更新以来已经 >= x 英里,则再次更新,否则什么都不做
我正在使用每 500 米或更长时间更新一次位置的 Significant-Change Location 服务。因此,如果用户长途驾驶,该位置会非常频繁地更新,并且由于我在每次更新时都会使用该位置更新我的 firebase 数据库,所以这将是大量的写入。我如何限制我更新数据库的次数,例如,每小时更新一次数据库或仅在新位置更新停止或其他情况下更新?
This is my current code:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let lastLocation = locations.last!
lat = lastLocation.coordinate.latitude
long = lastLocation.coordinate.longitude
db.collection(coll).document(uid).updateData(["loc": GeoPoint(latitude: lat!, longitude: long!)])
}
我所做的是说,如果自数据库中上次更新以来已经 >= x 英里,则再次更新,否则什么都不做