使用纬度和经度在swift中初始化CLLocation对象

Hen*_*olm 20 latitude-longitude cllocation cllocationdistance cllocationcoordinate2d swift

在目标C(我没有经验)你可以用纬度和经度初始化一个CLLocation对象,如下所示:

CLLocation *myLocation = [[CLLocation alloc]  initWithLatitude:your_latitiude_value longitude:your_longitude_value];
Run Code Online (Sandbox Code Playgroud)

但是我如何在Swift中做到这一点?

我试过这个,

let loc_coords = CLLocationCoordinate2D(latitude: your_latitiude_value, longitude: your_longitude_value)

let loc = CLLocation().coordinate(loc_coords)
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

无法使用类型'(CLLocationCoordiate2D)'的参数列表调用"coordinate"

我需要它作为CLLocation对象,因为我想在locationManager中使用distanceFromLocation方法.

希望你能帮忙,谢谢!

Vas*_*rov 27

我不是靠近我的Mac测试它,但以下应该工作.只需将latlon值传递给CLLocaion初始值设定项,如下所示:

let myLocation = CLLocation(latitude: your_latitiude_value, longitude: your_longitude_value) 
Run Code Online (Sandbox Code Playgroud)

供参考,您可以查看文档


Dun*_*n C 10

如果你想要的只是一个lat和long的初始化器,你的代码可能如下所示:

let latitude: CLLocationDegrees = 37.2
let longitude: CLLocationDegrees = 22.9

let location: CLLocation = CLLocation(latitude: latitude, 
  longitude: longitude)
Run Code Online (Sandbox Code Playgroud)

还有其他初始化程序需要更多参数,但您没有询问这些参数.