В моем приложении я беру координаты моего пользователя, когда он находится в движении, чтобы показать ему траекторию, которую он взял. Но моя проблема в том, чтобы знать, когда пользователь останавливается, чтобы остановить текущую траекторию и отобразить ему эту траекторию на карте.
Мой код, чтобы знать, когда пользователь начинает свою траекторию, работает отлично, я делаю это с didUpdateLocations
с distanceFilter 100.
Моя проблема в том, что я не могу знать, когда пользователь остановится.
Я хочу знать, например, есть ли решение, чтобы узнать, когда я больше не буду получать обновления местоположений, и это будет означать, что траектория закончена.
Я пытался с locationManagerDidPauseLocationUpdates
, но моя программа, кажется, никогда не входит в эту функцию.
// Вот мой код, который получает обновление местоположения пользователя
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
guard let mostRecentLocation = locations.last else {
return
}
if !self.isTrajectStarted {
if self.locations.count == 0 {
print("First coordinate")
} else if (self.locations.count == 1) {
if self.locations[0].distance(from: mostRecentLocation)>150 {
print("traject begin")
}
}
} else {
print(" New location is %@", mostRecentLocation)
}
}