Инициализировать объект CLLocation в swift с широтой и долготой
В объекте C (у меня нет опыта с ним) вы можете инициализировать объект CLLocation с широтой и долготой, это нравится:
CLLocation *myLocation = [[CLLocation alloc] initWithLatitude:your_latitiude_value longitude:your_longitude_value];
Но как это сделать в Swift?
Я пробовал это,
let loc_coords = CLLocationCoordinate2D(latitude: your_latitiude_value, longitude: your_longitude_value)
let loc = CLLocation().coordinate(loc_coords)
Но я получаю эту ошибку:
Невозможно вызвать "координату" с помощью списка аргументов типа "(CLLocationCoordiate2D)"
Мне нужно, чтобы это был объект CLLocation, поскольку я хочу использовать метод distanceFromLocation в locationManager.
Надеюсь, вы сможете помочь, спасибо!
Ответы
Ответ 1
Я не рядом с моим Mac, чтобы проверить его, но следующее должно работать. Просто передайте значения lat и lon в инициализатор CLLocaion следующим образом:
let myLocation = CLLocation(latitude: your_latitiude_value, longitude: your_longitude_value)
Для справки вы можете проверить documentation
Ответ 2
Если все, что вы хотите, это инициализатор, который занимает lat и long, ваш код может выглядеть так:
let latitude: CLLocationDegrees = 37.2
let longitude: CLLocationDegrees = 22.9
let location: CLLocation = CLLocation(latitude: latitude,
longitude: longitude)
Есть и другие инициализаторы, которые принимают больше параметров, но вы не спрашивали об этом.