Trouver le nom de la ville et le pays à partir de la latitude et de longitude dans Swift

Je suis en train de travailler sur l'application dans le Swift3
et j'ai la lettre de problème, je ne peux pas trouver la réponse.

Comment puis-je savoir le nom de la ville et du pays des noms courts de base sur la latitude et la longitude?

import UIKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate{
let locationManager = CLLocationManager()
var latitude: Double = 0
var longitude: Double = 0
override func viewDidLoad() {
super.viewDidLoad()
//For use when the app is open & in the background
        locationManager.requestAlwaysAuthorization()
//For use when the app is open
        //locationManager.requestWhenInUseAuthorization()
        locationManager.delegate = self
locationManager.startUpdatingLocation()
if CLLocationManager.locationServicesEnabled() {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.startUpdatingLocation()
}
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.first {
print(location.coordinate)
latitude = location.coordinate.latitude
longitude = location.coordinate.longitude
}
}
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
if (status == CLAuthorizationStatus.denied){
showLocationDisabledpopUp()
}
}
func showLocationDisabledpopUp() {
let alertController = UIAlertController(title: "Background Location Access  Disabled", message: "We need your location", preferredStyle: .alert)
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
alertController.addAction(cancelAction)
let openAction = UIAlertAction(title: "Open Setting", style: .default) { (action) in
if let url = URL(string: UIApplicationOpenSettingsURLString){
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
alertController.addAction(openAction)
self.present(alertController, animated: true, completion: nil)
}
}
developer.apple.com/reference/corelocation/clgeocoder
Voir ma réponse à swift Xcode 4.1 9.4.1. Vous pouvez obtenir même le nom du village de détails aussi. stackoverflow.com/questions/16647996/...

OriginalL'auteur joshua | 2017-05-17