CLLocationManager 能否在 swift 3 中同时管理 2 个或更多位置
Can a CLLocationManager manage 2 or more locations at the same time in swift 3
我有一个问题,我似乎无法在任何地方找到答案,我在 viewController 中有一个全局 CLLocationManager() 变量,这样我就可以看到用户何时进入或离开某个位置locationManager callBacks,它一次只能在一个位置完美运行,但我想让应用程序同时监控 2 个或更多位置。
我创建了一个函数来启动它:
var coreLocationManger = CLLocationManager()
func setMonitoredRegion(location:CLLocation) {
let startLocation = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
let monitoredRegion = CLCircularRegion(center: startLocation, radius: 100, identifier: "Local Region")
coreLocationManger.startMonitoring(for: monitoredRegion)
coreLocationManger.allowsBackgroundLocationUpdates = true
coreLocationManger.delegate = self
monitoredRegion.notifyOnEntry = true
monitoredRegion.notifyOnExit = true
}
这个函数,要求管理一个位置,当我在不同的位置多次使用它时,它只管理最后一个给出的位置!
你们对此有什么建议吗?
谢谢
每次调用该函数时,您都会覆盖该区域。确保每个位置的区域标识符都不同。
我有一个问题,我似乎无法在任何地方找到答案,我在 viewController 中有一个全局 CLLocationManager() 变量,这样我就可以看到用户何时进入或离开某个位置locationManager callBacks,它一次只能在一个位置完美运行,但我想让应用程序同时监控 2 个或更多位置。 我创建了一个函数来启动它:
var coreLocationManger = CLLocationManager()
func setMonitoredRegion(location:CLLocation) {
let startLocation = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
let monitoredRegion = CLCircularRegion(center: startLocation, radius: 100, identifier: "Local Region")
coreLocationManger.startMonitoring(for: monitoredRegion)
coreLocationManger.allowsBackgroundLocationUpdates = true
coreLocationManger.delegate = self
monitoredRegion.notifyOnEntry = true
monitoredRegion.notifyOnExit = true
}
这个函数,要求管理一个位置,当我在不同的位置多次使用它时,它只管理最后一个给出的位置! 你们对此有什么建议吗? 谢谢
每次调用该函数时,您都会覆盖该区域。确保每个位置的区域标识符都不同。