【问题标题】:Initialize a CLLocation object in swift with latitude and longitude用经纬度快速初始化一个 CLLocation 对象
【发布时间】:2015-07-08 00:07:28
【问题描述】:

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

希望您能帮忙,谢谢!

【问题讨论】:

    标签: swift latitude-longitude cllocation cllocationdistance cllocationcoordinate2d


    【解决方案1】:

    我不在我的 Mac 附近进行测试,但以下应该可以正常工作。只需将您的 latlon 值传递给 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)
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      • 2015-01-25
      相关资源
      最近更新 更多