如何不经常更新我在 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 英里,则再次更新,否则什么都不做