좌표값과 주소 추출
사용자의 좌표값을 얻기 위해서는 CLLocationManager를 사용해야 한다.
좌표값을 토대로 주소를 얻기 위해서는 CLGeocoder를 사용해야 한다.
import UIKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate {
let manager = CLLocationManager() // 위치 관련 담당 객체
let geoCoder = CLGeocoder() // 지리 좌표와 장소명 변환 담당 객체
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations[0] // 가장 최신의 정보 획득
print("현재 위도는 \(location.coordinate.latitude), 현재 경도는 \(location.coordinate.longitude) 입니다.")
// 좌표를 주소로 변환하는 메소드
geoCoder.reverseGeocodeLocation(location) { (placemark, error) in
if error != nil {
print("Error")
} else {
let place = placemark?[0] // 가장 최신의 정보 획득
print("\(place?.country), \(place?.administrativeArea), \(place?.subAdministrativeArea), \(place?.locality), \(place?.subLocality)")
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest // 위치 정보 정확성
manager.requestAlwaysAuthorization() // 위치 정보 사용 권한 획득
manager.startUpdatingLocation() // 현재 위치에 따른 정보 업데이트
}
}
실행 결과는 다음과 같다
