在目标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方法。
希望你能帮忙,谢谢!
答案 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)
还有其他初始值设定项需要更多参数,但您没有询问这些参数。