【发布时间】:2016-01-30 09:27:35
【问题描述】:
使用以下代码,我的 currentLat 和 currentLong 不会更新到第一个位置之外。位置永远不会超过 1 项,而且总是完全相同。
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let loc: CLLocation = locations[locations.count - 1]
currentLat = loc.coordinate.latitude
currentLong = loc.coordinate.longitude
}
我一直在做的所有搜索都只展示了如果它根本不起作用,如何让它起作用,但这确实有效,但只有一次。
我希望它的工作方式是不断更新 GPS 坐标,并在位置更新时触发此委托。位置是否一直在更新?我认为这是由于“startUpdatingLocation()”的术语和存在“stopUpdatingLocation()”。我是否试图错误地使用它?
就像我说的,它是第一次工作,所以加载和启动都很好,权限是允许的,info.plist 有必要的条目。
【问题讨论】:
-
您是否在 viewDidLoad 中正确调用了代理?
-
是的,否则它不会第一次工作。这也是我有 startUpdatingLocation() 的地方
-
第一次更新后尝试停止更新
stopUpdatingLocation()放在let loc: CLLocation之前再调用更新位置。 -
请查看给定的解决方案:Update user location objective-c and Swift
标签: ios swift cllocationmanager