Initialize a CLLocation object in swift with latitude and longitude

Henrik Holm picture Henrik Holm · Apr 29, 2015 · Viewed 30.5k times · Source

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!

Answer

Vasil Garov picture Vasil Garov · Apr 29, 2015

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