我正在尝试检测用户是否正在我的应用程序中输入特定区域。
如果应用程序启动然后进入该区域时用户不在特定区域,则此方法可以正常工作。
但是,如果应用程序启动时用户位于特定区域,则不会触发“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 = …Run Code Online (Sandbox Code Playgroud) 我只是想知道在 Xamarin.Forms 中使用 PCL 有什么好处。我的意思是你无论如何都要在每个平台之间共享代码。在 Xamarins 本机方法中,它非常清楚。所以也许有人可以告诉我为什么在 Xamarin.Forms 中使用 PCL?