【发布时间】:2016-08-03 15:24:06
【问题描述】:
在我的代码中,我需要初始化我的用户位置:它工作正常。
但每当我想更改我的位置(通过选择地址或扫过屏幕)时,我的应用都会将我带回到我的用户位置。
我在that post 上找到了一些答案。
但是,我不打电话给 didUpdateUserLocation() 。所以我不知道该怎么办。
我的应用程序是否经常调用 ViewDidLoad() ?
这是我的代码,用于初始化我的位置。
var usrLocation: CLLocationManager!
override func viewDidLoad() {
super.viewDidLoad()
if (CLLocationManager.locationServicesEnabled()) {
usrLocation = CLLocationManager()
usrLocation.delegate = self
usrLocation.requestAlwaysAuthorization()
usrLocation.requestLocation()
usrLocation.startUpdatingLocation()
}
mapView.delegate = self
}
另外,我不能只删除我的usrLocation.requestLocation() 函数,我需要在应用启动时以我的用户为中心。我想在别处调用它,但我不知道在哪里?
【问题讨论】:
-
不要同时调用
requestLocation()和startUpdatingLocation()。如果您只想获取用户的当前位置一次,请致电requestLocation(),如果您想持续更新位置,请致电startUpdatingLocation()。 -
哦,原来如此。非常感谢。你应该把它放在一个真实的答案中:)
标签: ios swift mapkit userlocation