gpt4 book ai didi

ios - 为什么 CoreLocation 无法获取新的 GPS 数据而 Mapkit 显示旧的 GPS 数据

转载 作者:行者123 更新时间:2023-11-30 11:42:18 26 4
gpt4 key购买 nike

我正在开发 MapKit 和核心位置来显示我当前的 GPS 位置。代码运行正常,但存在一些问题。

问题如下:

  1. 我在路边等空旷区域打开应用程序。该应用程序能够获取我当前的 GPS 位置并将其显示在 map 上。
  2. 我打开应用走进一座大楼。进入后,我启动页面以显示 GPS 位置。它显示了我之前的 GPS 位置。据我所知,当我在建筑物内时,Mapkit 和 Corelocation 应该无法获取 GPS。但在这种情况下,它显示的是我之前的 GPS 数据!
  3. 我带着应用走出大楼。在开放空间中,我启动页面以显示我当前的 GPS 位置,但应用程序无法获取我的新 GPS 位置,但显示以前的 GPS 数据。在这种情况下,应用程序应获取新的 GPS 位置。我必须尝试几次才能启动该页面(从 GPS-VC 导航到 home-VC,从 home 单击按钮启动 GPS-VC 以获取 GPS)。

为什么即使我在信号强度好的空旷地方,GPS 仍然很慢?

调用这些方法有什么区别:

  1. LocationManager.startUpdatingLocation()
  2. LocationManager.requestLocation()

代码如下:

@IBOutlet weak var Map: MKMapView!

var locationMgr : CLLocationManager!

override func viewDidload(){

if(CLLocationManager.locationServicesEnabled() )
{
locationMgr = CLLocationManager()
locationMgr.delegate = self
locationMgr.desriedAccuracy = kCLLocationAccuracyBest
locationMgr.requestWhenInuseAuthorization()
locationMgr.startUpdatingLocation()
}
}

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let userLoction: CLLocation = locations[0]

let latitude = userLoction.coordinate.latitude
let longitude = userLoction.coordinate.longitude

let latDelta: CLLocationDegrees = 0.05
let lonDelta: CLLocationDegrees = 0.05

let span:MKCoordinateSpan = MKCoordinateSpanMake(latDelta, lonDelta)
let location: CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude)
let region: MKCoordinateRegion = MKCoordinateRegionMake(location, span)

let dropin = MKPointAnnotation()
dropin.coordinate = location
droping.title = "Here"

self.Map.setRegion(region, animated: true)
self.Map.addAnnotation(dropin)
self.Map.showsUserLocation = true
}

最佳答案

我不确定这是否能解决您的所有 3 个问题,但我在您的委托(delegate)方法中发现了以下问题:

  1. locations 数组按时间升序排序,因此locations.last 将包含最近的位置。
  2. 可能会使用旧的缓存值调用此方法,因此您需要检查该位置的时间戳以确定是否值得使用。

关于ios - 为什么 CoreLocation 无法获取新的 GPS 数据而 Mapkit 显示旧的 GPS 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49195858/

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