24

在目标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 对象,因为我想在 locationManager 中使用 distanceFromLocation 方法。

希望能帮到你,谢谢!

4

2 回答 2

31

我不在我的 Mac 附近进行测试,但以下应该可以工作。只需将您的latlon值传递给 CLLocaion 初始化程序,如下所示:

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

作为参考,您可以查看文档

于 2015-04-28T23:34:15.653 回答
13

如果您想要的只是需要一个 lat 和 long 的初始化程序,您的代码可以如下所示:

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

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

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

于 2015-04-28T23:34:00.240 回答