Я работаю над MapKit и основным местоположением, чтобы отобразить мое текущее местоположение по GPS. Код работает нормально, но с некоторыми проблемами.
Проблема в следующем:
Почему GPS работает так медленно, хотя я нахожусь на открытом пространстве с хорошим сигналом?
Есть ли разница в вызове этих методов:
LocationManager.startUpdatingLocation()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
}





Я не уверен, что это решит все три проблемы, но я обнаружил следующие проблемы в вашем методе делегирования:
Звучит логично. Изучим данные о местоположении. Вернусь сюда позже.