manager geocoder corelocation swift latitude-longitude cllocation cllocationdistance cllocationcoordinate2d

swift - corelocation - geocoder ios



Inicializa un objeto CLLocation en swift con latitud y longitud (2)

En el objetivo C (no tengo experiencia con él) puede inicializar un objeto CLLocation con latitud y longitud de esta manera:

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

Pero, ¿cómo lo hago en Swift?

Probé esto,

let loc_coords = CLLocationCoordinate2D(latitude: your_latitiude_value, longitude: your_longitude_value) let loc = CLLocation().coordinate(loc_coords)

Pero me sale este error:

No se puede invocar "coordenada" con una lista de argumentos de tipo ''(CLLocationCoordiate2D)''

Necesito que sea un objeto CLLocation ya que quiero usar el método distanceFromLocation dentro del locationManager.

Espero que puedas ayudar, gracias!


No estoy cerca de mi Mac para probarlo, pero lo siguiente debería estar funcionando. Simplemente pase sus valores de lat y lon al inicializador de CLLocaion de esta manera:

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

Para referencia puedes consultar la documentation


Si todo lo que desea es el inicializador que toma un tiempo de latencia y largo, su código puede tener este aspecto:

let latitude: CLLocationDegrees = 37.2 let longitude: CLLocationDegrees = 22.9 let location: CLLocation = CLLocation(latitude: latitude, longitude: longitude)

Hay otros inicializadores que toman más parámetros, pero usted no preguntó por ellos.