Search code examples
swiftlatitude-longitudecllocationcllocationdistancecllocationcoordinate2d

Initialize a CLLocation object in swift with latitude and longitude


In objective C (I have no experience with it) you can initialize a CLLocation object with latitude and longitude likes this:

CLLocation *myLocation = [[CLLocation alloc]  initWithLatitude:your_latitiude_value longitude:your_longitude_value];

But how do I do it in Swift?

I tried this,

let loc_coords = CLLocationCoordinate2D(latitude: your_latitiude_value, longitude: your_longitude_value)

let loc = CLLocation().coordinate(loc_coords)

But I get this error:

Cannot invoke "coordinate" with an argument list of type '(CLLocationCoordiate2D)'

I need it to be a CLLocation object as I want to use the distanceFromLocation method within the locationManager.

Hope you can help, thanks!


Solution

  • I am not near my Mac to test it but the following should be working. Just pass your lat and lon values to the CLLocaion initializer like this:

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

    For reference you can check the documentation