gpt4 book ai didi

swift - LocationManager.startUpdatingLocation 完成得太晚,无法获取当前位置

转载 作者:行者123 更新时间:2023-11-30 10:14:53 37 4
gpt4 key购买 nike

我正在尝试更改 MapView 的初始缩放位置。如果 myLocation == false,我希望初始位置为 (35,35),如果为 true,则获取当前位置。但是 startUpdatingLocation 在initialLocation之后完成,所以我无法获取它并且它崩溃了。如果我使用断点,它就会工作并获取值。

if self.myLocation == false {
self.initialLocation = CLLocation(latitude: 35.00, longitude: 35.00) }
else {
locManager.delegate = self
locManager.desiredAccuracy = kCLLocationAccuracyBest
checkLocationAuthorizationStatus()
locManager.startUpdatingLocation()

self.initialLocation = CLLocation(latitude: locManager.location.coordinate.longitude, longitude: locManager.location.coordinate.longitude)
}

centerMapOnLocation(self.initialLocation)
}

最佳答案

您需要使用 locationManager 委托(delegate):locationManager:didUpdateLocations 来设置位置。
将您的 self.initialLocation= 代码放入委托(delegate)中。

然后创建另一个函数,您可以调用该函数来执行 centerMapOnLocation(self.initialLocation) 代码。

关于swift - LocationManager.startUpdatingLocation 完成得太晚,无法获取当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30737407/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com