使用纬度和经度

时间:2015-04-28 22:48:39

标签: swift latitude-longitude cllocation cllocationdistance cllocationcoordinate2d

在目标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方法。

希望你能帮忙,谢谢!

2 个答案:

答案 0 :(得分:27)

我不在我的Mac附近进行测试,但以下情况应该有效。只需将 lat lon 值传递给CLLocaion初始化程序,如下所示:

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

作为参考,您可以查看documentation

答案 1 :(得分:10)

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

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

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

还有其他初始值设定项需要更多参数,但您没有询问这些参数。