CoreLocationを使って現在地の緯度経度を一瞬取得するためのextensionです。
ViewController.swift
import CoreLocation
Viewcontroller.swift
override func viewDidLoad() {
super.viewDidLoad()
//CLLocationManagerDelegateのセットアップ
locationManager.delegate = self
//位置情報使ってもいい?
locationManager.requestWhenInUseAuthorization()
}
Viewcontroller.swift
extension ViewController: CLLocationManagerDelegate {
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.last {
locationManager.stopUpdatingLocation()
var lat = location.coordinate.latitude
var lon = location.coordinate.longitude
//緯度・経度を渡す
parseLocation(lat: lat, lon: lon)
}
}
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
print(error)
}
}
Viewcontroller.swift
@IBAction func buttonPressed(_ sender: UIButton) {
//位置情報の取得開始
locationManager.startUpdatingLocation()
}