Initialize a CLLocation object in swift with latitude and longitude
Asked Answered
F

2

24

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!

Filaria answered 28/4, 2015 at 22:48 Comment(0)
Z
32

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

Zaremski answered 28/4, 2015 at 23:34 Comment(2)
Yup, you got it, and you pressed return before I did (I went and verified it in a Playground, so I'm sure it's correct.)Outdo
Bah of course, thats quiet logical. But thanks a lot!Filaria
O
14

If all you want is the initializer that takes a lat and long, your code can look like this:

let latitude: CLLocationDegrees = 37.2
let longitude: CLLocationDegrees = 22.9

let location: CLLocation = CLLocation(latitude: latitude, 
  longitude: longitude)

There are other initializers that take more parameters, but you didn't ask about those.

Outdo answered 28/4, 2015 at 23:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.