Что вы можете сделать, это;есть две переменные для хранения широты и долготы как двойные (или вы можете иметь одну переменную в качестве местоположения тоже):
var latitude: Double?
var longitude: Double?
Затем обновляйте эти переменные каждый раз, когда местоположение изменяется в didUpdateLocations
методе:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.last {
latitude = location.coordinate.latitude
longitude = location.coordinate.longitude
}
}
Затем в ваших методах действия получите информацию о местоположении из этих длинных значений, таких как:
//you can access the current location from lat long values, and then calculate distances inside action buttons if you like.
@IBAction func homeTapped(_ sender: Any) {
//latitude, longitude will be updated with user's current location.
}
@IBAction func workTapped(_ sender: Any) {
//latitude, longitude will be updated with user's current location.
}