Я пытаюсь определить, входит ли пользователь в определенный регион в моем приложении.
Это работает нормально, если пользователь не находится в определенном регионе, когда приложение запускается, а затем входит вобласть, край.
Но если пользователь находится в определенном регионе при запуске приложения, функция didEnterRegion не запускается.
Вот мой код:
override func viewDidLoad() {
super.viewDidLoad()
self.dbRef = Database.database().reference()
self.mapView.delegate = self
self.initLocationManager()
guard let userLocation = locationManager.location?.coordinate else {return}
self.userLocation = userLocation
let region = MKCoordinateRegion(center: userLocation, latitudinalMeters: 1200, longitudinalMeters: 1200)
mapView.setRegion(region, animated: true)
self.getPlaces { (places) in
self.places = places
self.addAnnotationsToMap(places)
if(CLLocationManager.authorizationStatus() == .authorizedAlways){
if CLLocationManager.isMonitoringAvailable(for: CLCircularRegion.self){
for place in places{
self.startMonitoring(place)
}
}
}
}
}
func startMonitoring(_ place: Place){
let region = CLCircularRegion(center: place.getCoordinate(), radius: 50, identifier: place.identifier)
region.notifyOnEntry = true
region.notifyOnExit = true
locationManager.startMonitoring(for: region)
}
func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
print("Entered Region : \(region.identifier)")
}