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

Initialize a CLLocation object in swift with latitude and longitude

在 objective 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)”类型的参数列表调用 "coordinate"

我需要它是一个 CLLocation 对象,因为我想在 locationManager 中使用 distanceFromLocation 方法。

希望能帮到你,谢谢!

如果您想要的只是需要经纬度的初始化程序,您的代码可以如下所示:

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

let location: CLLocation = CLLocation(latitude: latitude, 
  longitude: longitude)

还有其他的初始化器需要更多的参数,但你没有问这些。

我不在我的 Mac 附近进行测试,但以下应该有效。只需将 latlon 值传递给 CLLocaion 初始值设定项,如下所示:

let myLocation = CLLocation(latitude: your_latitiude_value, longitude: your_longitude_value) 

作为参考,您可以查看 documentation