用纬度和经度初始化 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 附近进行测试,但以下应该有效。只需将 lat 和 lon 值传递给 CLLocaion 初始值设定项,如下所示:
let myLocation = CLLocation(latitude: your_latitiude_value, longitude: your_longitude_value)
作为参考,您可以查看 documentation
在 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 附近进行测试,但以下应该有效。只需将 lat 和 lon 值传递给 CLLocaion 初始值设定项,如下所示:
let myLocation = CLLocation(latitude: your_latitiude_value, longitude: your_longitude_value)
作为参考,您可以查看 documentation