Инициализировать объект 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)

Есть и другие инициализаторы, которые принимают больше параметров, но вы не спрашивали об этом.